.app-shell{display:grid;grid-template-rows:auto 1fr auto;min-height:100dvh;background:var(--color-bg);color:var(--color-fg);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.app-shell__header{padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,rgba(255,255,255,.03),transparent)}.app-shell__main{position:relative;display:grid;grid-template-columns:1fr;min-height:0}.app-shell--with-aside .app-shell__main{grid-template-columns:1fr minmax(280px,360px)}@media(max-width:900px){.app-shell--with-aside .app-shell__main{grid-template-columns:1fr}}.app-shell__stage{position:relative;min-height:0;display:flex;flex-direction:column;padding:1rem;overflow:hidden}.app-shell__aside{border-left:1px solid rgba(255,255,255,.06);padding:1rem;overflow-y:auto;background:#ffffff03}@media(max-width:900px){.app-shell__aside{border-left:none;border-top:1px solid rgba(255,255,255,.06)}}.app-shell__footer{padding:.5rem 1rem;border-top:1px solid rgba(255,255,255,.06);font-size:.8rem;color:var(--color-muted)}.panel{background:#ffffff09;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:1rem;display:flex;flex-direction:column;gap:.75rem}.panel+.panel{margin-top:.75rem}.panel--muted{opacity:.85}.panel--accent{border-color:#ffd24a80}.panel--error{background:#ff4d4d1f;border-color:#ff4d4d80}.panel__header{display:flex;align-items:start;justify-content:space-between;gap:.5rem}.panel__title{font-size:.95rem;font-weight:500;letter-spacing:.03em;margin:0}.panel__desc{margin:.25rem 0 0;font-size:.82rem;color:var(--color-muted)}.panel__actions{display:flex;gap:.5rem;flex-wrap:wrap}.panel__body{display:flex;flex-direction:column;gap:.5rem}.status-banner{display:flex;gap:.75rem;align-items:center;padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid transparent;font-size:.95rem;line-height:1.4}.status-banner__icon{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-weight:700;font-size:.8rem}.status-banner__content{flex:1;display:grid;gap:.25rem}.status-banner__actions{display:flex;gap:.5rem}.status-banner--info{background:#639cff1f;border-color:#639cff66}.status-banner--info .status-banner__icon{background:#639cff4d}.status-banner--success{background:#4ade801f;border-color:#4ade8066}.status-banner--success .status-banner__icon{background:#4ade804d}.status-banner--warning{background:#ffd24a24;border-color:#ffd24a80}.status-banner--warning .status-banner__icon{background:#ffd24a4d;color:#0a0a0f}.status-banner--error{background:#ff4d4d1f;border-color:#ff4d4d80}.status-banner--error .status-banner__icon{background:#ff4d4d4d}.btn{display:inline-flex;align-items:center;gap:.4rem;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:inherit;font-family:inherit;font-weight:500;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform 60ms ease}.btn:hover{background:#ffffff14;border-color:#ffffff38}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--sm{font-size:.82rem;padding:.35rem .7rem}.btn--md{font-size:.92rem;padding:.5rem .95rem}.btn--primary{background:var(--color-accent);color:#0a0a0f;border-color:transparent}.btn--primary:hover{background:var(--color-accent-hi)}.btn--ghost{background:transparent;border-color:transparent}.btn--ghost:hover{background:#ffffff0f}.drawer-backdrop{position:fixed;inset:0;opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:40}.drawer-backdrop--dimmed{background:#0006}.drawer-backdrop--transparent{background:transparent}.drawer-backdrop--open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;bottom:0;width:var(--drawer-width, min(380px, 92vw));background:var(--color-surface);box-shadow:0 0 60px #0009;transition:transform .22s cubic-bezier(.2,.8,.2,1);z-index:50;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.drawer[data-side=right]{right:0;border-left:1px solid rgba(255,255,255,.08);padding-right:env(safe-area-inset-right);transform:translate(100%)}.drawer[data-side=left]{left:0;border-right:1px solid rgba(255,255,255,.08);padding-left:env(safe-area-inset-left);transform:translate(-100%)}.drawer.drawer--open{transform:translate(0)}.drawer__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.06)}.drawer__title{margin:0;font-size:1.05rem;font-weight:500}.drawer__close{all:unset;cursor:pointer;width:32px;height:32px;display:grid;place-items:center;border-radius:8px;font-size:1.4rem;line-height:1;color:var(--color-muted);transition:background .12s,color .12s}.drawer__close:hover{background:#ffffff0f;color:var(--color-fg)}.drawer__body{flex:1;overflow-y:auto;padding:1rem 1.25rem 1.5rem;display:flex;flex-direction:column;gap:.75rem}.drawer__hint{margin-top:auto;padding-top:.75rem;font-size:.72rem;color:var(--color-muted);text-align:center}.drawer__hint kbd{padding:1px 6px;border-radius:4px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);font-family:inherit;font-size:.72rem}.stage-trigger{position:absolute;top:12px;z-index:6;padding:.35rem .7rem;background:#0a0a0fa6;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#ffffffd9;font-size:.72rem;letter-spacing:.12em;font-family:-apple-system,system-ui,sans-serif;cursor:pointer}.stage-trigger:hover{color:#fff;border-color:#ffffff29}.stage-trigger--active{color:#ffd24a;border-color:#ffd24a8c;background:#ffd24a1a}.settings-trigger{position:absolute;top:14px;right:14px;z-index:20;width:44px;height:44px;display:grid;place-items:center;border-radius:999px;background:#0a0a0f8c;border:1px solid rgba(255,255,255,.12);color:#ffffffe6;cursor:pointer;transition:background .15s ease,transform .1s ease,color .15s ease}.settings-trigger:hover{background:#0a0a0fbf;color:var(--color-accent)}.settings-trigger:active{transform:scale(.96)}.settings-trigger:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.tp{--key-on: #60a5fa;--key-root: #ffd24a;--key-fifth: #ef4444;--key-off: rgba(255, 255, 255, .12);--key-black: rgba(20, 20, 24, .95);display:flex;flex-direction:column;gap:16px;min-width:0}.tp>section{min-width:0}.tp-h{margin:0 0 8px;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-muted);font-weight:600}.tp-sets__row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.tp-set{position:relative;flex:0 0 auto;min-width:120px;padding:10px 24px 10px 12px;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);cursor:pointer;display:flex;flex-direction:column;gap:3px;transition:background .12s,border-color .12s}.tp-set:hover{background:#ffffff17}.tp-set--active{background:#ffd24a2e;border-color:#ffd24ab3}.tp-set__name{font-size:.9rem;font-weight:600;white-space:nowrap}.tp-set__name-edit{background:#0006;border:1px solid rgba(255,210,74,.5);border-radius:4px;color:#fff;font-size:.9rem;font-weight:600;font-family:inherit;padding:2px 4px;width:100%;min-width:0}.tp-set__sub{font-size:.7rem;color:var(--color-muted);white-space:nowrap}.tp-set__del{position:absolute;top:4px;right:4px;width:20px;height:20px;display:grid;place-items:center;border:none;background:#00000059;color:#ffffffb3;border-radius:5px;font-size:1rem;line-height:1;cursor:pointer}.tp-set__del:hover{background:#ff5a5a8c;color:#fff}.tp-set--add{min-width:48px;padding:10px;align-items:center;justify-content:center;font-size:1.5rem;color:var(--color-muted);background:#ffffff08;border-style:dashed}.tp-set--add:hover{color:#fff;background:#ffffff14}.tp-sets__hint{margin-top:6px;font-size:.68rem;color:var(--color-muted);text-align:center}.tp-top{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}.tp-scalesize{display:flex;flex-direction:column;gap:4px;align-items:center}.tp-scalesize__value{display:flex;align-items:baseline;gap:4px;font-size:1.1rem;font-weight:600;color:var(--color-fg);font-variant-numeric:tabular-nums}.tp-scalesize__hint{font-size:.68rem;color:var(--color-muted);font-weight:400}.tp-free{grid-column:1 / -1;display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--color-muted);cursor:pointer;justify-self:start}.tp-linkhint{grid-column:1 / -1;font-size:.72rem;color:var(--color-muted);line-height:1.3}.tp-strings__hint{font-size:.72rem;color:var(--color-muted);margin-bottom:6px;line-height:1.4}.tp-strings__list{display:flex;flex-direction:column;gap:3px;padding:8px 6px;background:#00000059;border-radius:12px}.str-row{--accent: #60a5fa;display:grid;grid-template-columns:22px 1fr 56px;align-items:center;gap:8px;padding:2px 4px;border-radius:6px;min-height:22px}.str-row:hover{background:#ffffff0a}.str-row__track{position:relative;height:18px;border-radius:3px;background:linear-gradient(to bottom,transparent calc(50% - 1px),rgba(255,255,255,.08) calc(50% - 1px),rgba(255,255,255,.08) calc(50% + 1px),transparent calc(50% + 1px));cursor:pointer;touch-action:none;user-select:none}.str-row__octave{position:absolute;top:0;bottom:0;pointer-events:none;transform:translate(-50%)}.str-row__octave-line{position:absolute;top:0;bottom:0;left:0;width:1px;background:#fff3}.str-row__octave-label{position:absolute;bottom:-16px;left:0;transform:translate(-50%);font-size:.56rem;color:#ffffff59;font-variant-numeric:tabular-nums;white-space:nowrap}.str-row__semi{position:absolute;top:25%;bottom:25%;width:1px;background:#ffffff0f;pointer-events:none;transform:translate(-50%)}.str-row__semi--sharp{background:#ffffff1a;top:10%;bottom:10%}.str-row__marker{position:absolute;top:50%;width:14px;height:14px;margin-left:-7px;margin-top:-7px;border-radius:50%;background:var(--accent);box-shadow:0 2px 4px #00000080;pointer-events:none;transition:left 80ms ease-out;border:1.5px solid rgba(0,0,0,.35)}.str-row__marker--root{background:var(--key-root);width:16px;height:16px;margin-left:-8px;margin-top:-8px}.str-row__marker--ov{border:1.5px dashed #fff}.str-row__marker--flash{box-shadow:0 0 0 3px #fff,0 0 10px 4px var(--accent);transform:scale(1.2);transition:transform 80ms,box-shadow 80ms}.str-row__readout{font-size:.72rem;color:var(--color-fg);text-align:right;font-variant-numeric:tabular-nums;display:flex;flex-direction:column;line-height:1.1}.str-row__note{color:var(--accent);font-weight:600}.str-row__cents{font-size:.6rem;color:var(--color-muted)}.tp-strings{padding-bottom:20px}.pitch-ruler{display:flex;flex-direction:column;gap:6px;user-select:none;touch-action:pan-y}.pitch-ruler__track{position:relative;height:92px;border-radius:12px;background:#00000059;overflow:hidden}.pitch-ruler__band{position:absolute;top:0;bottom:0;pointer-events:none}.pitch-ruler__tick{position:absolute;top:0;bottom:0;width:26px;margin-left:-13px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:6px}.pitch-ruler__tick-line{width:1px;height:20px;background:#fff3}.pitch-ruler__tick-label{font-size:.7rem;color:#ffffff8c;margin-top:2px;pointer-events:none}.pitch-ruler__tick:hover .pitch-ruler__tick-label{color:#fff}.pitch-ruler__tick--root .pitch-ruler__tick-line{background:var(--key-root);width:2px;height:28px}.pitch-ruler__tick--root .pitch-ruler__tick-label{color:var(--key-root);font-weight:700}.pitch-ruler__tick--octave .pitch-ruler__tick-line{background:var(--key-root);opacity:.5}.pitch-ruler__marker{position:absolute;top:48px;width:18px;height:36px;margin-left:-9px;border-radius:8px;background:var(--key-on);box-shadow:0 2px 8px #00000080;cursor:grab;touch-action:none;display:grid;place-items:center}.pitch-ruler__marker:active{cursor:grabbing}.pitch-ruler__marker--root{background:var(--key-root);cursor:default}.pitch-ruler__cents{position:absolute;top:-18px;left:50%;transform:translate(-50%);font-size:.62rem;color:var(--key-on);background:#0000008c;padding:1px 5px;border-radius:4px;white-space:nowrap;pointer-events:none;font-variant-numeric:tabular-nums}.pitch-ruler__marker--root .pitch-ruler__cents{color:var(--key-root)}.pitch-ruler__hint{font-size:.68rem;color:var(--color-muted);text-align:center}.preset-grid{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.preset-card{all:unset;flex:0 0 130px;cursor:pointer;padding:8px 10px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:6px;transition:background .12s,border-color .12s,transform .12s}.preset-card:hover{background:#ffffff14}.preset-card--on{background:#60a5fa2e;border-color:#60a5fa99}.preset-card__top{display:flex;justify-content:space-between;align-items:center;gap:6px}.preset-card__label{font-size:.76rem;font-weight:600;color:var(--color-fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preset-card__badge{flex:0 0 auto;font-size:.65rem;color:var(--color-muted);background:#00000059;padding:1px 6px;border-radius:999px;font-variant-numeric:tabular-nums}.preset-card__ruler{width:40px;height:40px;display:block}.preset-card--compact{flex:0 0 auto;flex-direction:column;align-items:center;gap:2px;padding:4px 6px;min-width:62px}.preset-card--compact .preset-card__label{font-size:.66rem;line-height:1.1;font-weight:600;color:var(--color-fg);display:flex;align-items:center;gap:4px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.preset-card--compact .preset-card__badge{font-size:.56rem;padding:0 4px;border-radius:4px}.preset-card__source{font-size:.54rem;line-height:1;color:var(--color-muted);text-decoration:underline;text-decoration-color:#fff3;margin-top:2px}.preset-card__source:hover{color:var(--color-fg);text-decoration-color:currentColor}.timbre-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:6px}.timbre-tile{all:unset;cursor:pointer;padding:6px 8px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:2px;position:relative;transition:background .12s,border-color .12s}.timbre-tile:hover{background:#ffffff14}.timbre-tile--on{background:#60a5fa38;border-color:#60a5faa6}.timbre-tile__n{position:absolute;top:4px;right:6px;font-size:.6rem;color:var(--color-muted);font-variant-numeric:tabular-nums;background:#0000004d;padding:0 4px;border-radius:4px}.timbre-tile--on .timbre-tile__n{color:#fff;background:#60a5fa8c}.timbre-tile__label{font-size:.78rem;font-weight:600;color:var(--color-fg)}.timbre-tile__tag{font-size:.62rem;color:var(--color-muted)}.period-slider{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:#0000004d;border:1px solid rgba(255,255,255,.08);border-radius:10px}.period-slider__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.period-slider__value{font-size:.88rem;font-weight:600;color:var(--color-fg);font-variant-numeric:tabular-nums}.period-slider__hint{font-size:.7rem;color:var(--color-muted);font-weight:400}.period-slider__nudge{display:inline-flex;gap:4px}.period-slider__nbtn{all:unset;width:24px;height:24px;display:grid;place-items:center;border-radius:6px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--color-fg);cursor:pointer;font-weight:700}.period-slider__nbtn:hover{background:#ffffff24}.period-slider__track{position:relative;height:36px;border-radius:6px;background:#0006;border:1px solid rgba(255,255,255,.06);touch-action:none;user-select:none;cursor:pointer}.period-slider__anchor{position:absolute;top:0;bottom:0;transform:translate(-50%);pointer-events:none}.period-slider__anchor-tick{position:absolute;top:4px;bottom:14px;left:0;width:1px;background:#ffffff40}.period-slider__anchor-label{position:absolute;bottom:1px;left:0;transform:translate(-50%);font-size:.58rem;color:#ffffff8c;white-space:nowrap}.period-slider__marker{position:absolute;top:2px;bottom:14px;width:8px;margin-left:-4px;border-radius:3px;background:var(--key-root);box-shadow:0 1px 3px #0009;pointer-events:none;transition:left 80ms ease-out}.period-slider__anchorbar{display:flex;flex-wrap:wrap;gap:4px}.period-slider__chip{all:unset;cursor:pointer;font-size:.72rem;color:var(--color-muted);padding:3px 10px;border-radius:999px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1)}.period-slider__chip:hover{background:#ffffff1a;color:var(--color-fg)}.period-slider__chip--on{background:#ffd24a38;border-color:#ffd24a99;color:var(--key-root);font-weight:600}.scale-circle{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;background:#00000059;border:1px solid rgba(255,255,255,.08);border-radius:12px}.scale-circle__svg{width:280px;max-width:100%;aspect-ratio:280 / 360;height:auto;display:block;touch-action:none}.scale-circle__modeOverlay{position:absolute;top:8px;right:12px;display:inline-flex;background:#ffffff0f;border-radius:999px;padding:2px;gap:2px}.scale-circle__rootslider{width:100%;max-width:320px;display:flex;flex-direction:column;gap:4px}.scale-circle__rsheader{display:flex;justify-content:space-between;align-items:center;gap:8px}.scale-circle__rslabel{font-size:.82rem;color:var(--color-fg);font-variant-numeric:tabular-nums}.scale-circle__rslabel b{color:var(--key-root)}.scale-circle__rscents{margin-left:4px;font-size:.7rem;color:var(--color-muted)}.scale-circle__rsmode{display:inline-flex;border-radius:999px;background:#ffffff0f;padding:2px;gap:2px}.scale-circle__modebtn{all:unset;cursor:pointer;padding:2px 10px;font-size:.72rem;color:var(--color-muted);border-radius:999px;font-variant-numeric:tabular-nums}.scale-circle__modebtn--on{background:#ffd24a38;color:var(--key-root);font-weight:600}.scale-circle__rstrack{position:relative;height:32px;border-radius:6px;background:#00000059;border:1px solid rgba(255,255,255,.08);touch-action:none;user-select:none;cursor:pointer;padding-bottom:12px}.scale-circle__rstick{position:absolute;top:20%;bottom:50%;width:1px;background:#ffffff14;transform:translate(-50%);pointer-events:none}.scale-circle__rstick--oct{top:0;bottom:50%;background:#ffffff4d;width:1px}.scale-circle__rsticklabel{position:absolute;bottom:-12px;left:50%;transform:translate(-50%);font-size:.56rem;color:#ffffff73;font-variant-numeric:tabular-nums;white-space:nowrap}.scale-circle__rsmarker{position:absolute;top:2px;bottom:14px;width:10px;margin-left:-5px;border-radius:3px;background:var(--key-root);box-shadow:0 1px 3px #0009;pointer-events:none;transition:left 80ms ease-out}.scale-circle__rstether{width:1px;height:10px;margin:-4px auto 0;background-image:linear-gradient(to bottom,var(--key-root) 50%,transparent 50%);background-size:1px 4px;background-repeat:repeat-y;opacity:.55}.scale-circle__octrow{display:flex;gap:6px}.scale-circle__lowest{display:flex;align-items:center;gap:10px;padding:6px 12px;border-radius:999px;background:#ffffff0a;border:1px solid rgba(255,255,255,.12)}.scale-circle__lowest-label{font-size:.78rem;color:var(--color-muted)}.scale-circle__lowest-label b{color:var(--color-fg);font-variant-numeric:tabular-nums}.scale-circle__lowest-oct{display:inline-flex;align-items:center;gap:4px}.scale-circle__octbtn{all:unset;cursor:pointer;width:24px;height:24px;display:grid;place-items:center;border-radius:6px;background:#ffffff0f;color:var(--color-fg);font-weight:700}.scale-circle__octbtn:hover:not(:disabled){background:#ffffff24}.scale-circle__octbtn:disabled{opacity:.35;cursor:not-allowed}.scale-circle__octval{min-width:18px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-fg)}.scale-circle__hint{font-size:.68rem;color:var(--color-muted);text-align:center;line-height:1.35;max-width:280px}.scale-frame{padding:10px 12px;background:#00000059;border:1px solid rgba(255,255,255,.08);border-radius:12px;display:flex;flex-direction:column;gap:10px}.scale-frame__header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}.scale-frame__name{font-size:.9rem;color:var(--color-fg)}.scale-frame__hint{font-size:.68rem;color:var(--color-muted);line-height:1.3}.scale-frame__track{position:relative;height:56px;touch-action:none;user-select:none;cursor:grab}.scale-frame__track:active{cursor:grabbing}.scale-frame__tick{position:absolute;top:16px;bottom:22px;width:1px;background:#ffffff1a;pointer-events:none}.scale-frame__tick--oct{background:#ffffff4d;top:10px;bottom:22px}.scale-frame__tick-label{position:absolute;bottom:-14px;left:0;transform:translate(-50%);font-size:.65rem;color:#ffffff8c;font-variant-numeric:tabular-nums;white-space:nowrap}.scale-frame__dot{position:absolute;top:50%;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;box-shadow:0 2px 8px #00000080;border:2px solid rgba(0,0,0,.4);display:grid;place-items:center;cursor:pointer;touch-action:none}.scale-frame__dot--root{width:32px;height:32px;border-color:#ffffff8c}.scale-frame__dot-num{font-size:.7rem;font-weight:700;color:#000000bf;pointer-events:none}.tp-count-nudge{display:inline-flex;align-items:center;gap:6px;padding:2px 4px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.tp-count-nudge__btn{width:26px;height:26px;border:none;background:transparent;color:var(--color-fg);font-size:1.05rem;font-weight:700;cursor:pointer;border-radius:6px}.tp-count-nudge__btn:hover:not(:disabled){background:#ffffff1a}.tp-count-nudge__btn:disabled{opacity:.35;cursor:not-allowed}.tp-count-nudge__n{min-width:22px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}.tp-count-nudge__tag{font-size:.68rem;color:var(--color-muted);margin-right:4px}.tp-pattern-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px}.tp-pattern-head .tp-h{margin:0 auto 0 0;flex:0 0 auto}.tp-pattern-head .tp-chip{padding:4px 10px;font-size:.74rem}.tp-register-row{display:flex;justify-content:center;margin-top:6px}.tp-register-row .tp-chip{padding:4px 14px;font-size:.74rem}.tp-strings__bar{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.tp-preview{padding:6px 14px;border-radius:999px;background:#60a5fa33;border:1px solid rgba(96,165,250,.55);color:#fff;font-family:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .12s}.tp-preview:hover{background:#60a5fa52}.tp-preview--on{background:#ff5a5a47;border-color:#ff5a5aa6}.tp-seg{display:inline-flex;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:2px;gap:2px}.tp-seg__btn{all:unset;cursor:pointer;padding:3px 10px;font-size:.72rem;color:var(--color-muted);border-radius:999px}.tp-seg__btn--on{background:#60a5fa38;color:#fff;font-weight:600}.tp-preset-row,.tp-preset{display:flex;flex-direction:column;gap:4px}.tp-preset__label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-muted)}.tp-preset__select{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:var(--color-fg);font-family:inherit;font-size:.88rem;padding:8px 10px;min-width:0}.str-row__num{all:unset;font-size:.72rem;color:var(--color-muted);text-align:center;font-variant-numeric:tabular-nums;font-weight:600;cursor:pointer;padding:2px 0;border-radius:4px;transition:background .12s,color .12s}.str-row__num:hover{background:#ffffff14;color:var(--color-fg)}.str-row--armed{background:#ffd24a1f;outline:1px solid rgba(255,210,74,.55)}.str-row--armed .str-row__num{color:var(--key-root);background:#ffd24a33}.tp-period__chips,.tp-tr__row{display:flex;flex-wrap:wrap;gap:6px}.tp-period__row{display:flex;align-items:center;gap:6px;margin-top:6px}.tp-period__label{font-size:.75rem;color:var(--color-muted)}.tp-period__unit{font-size:.72rem;color:var(--color-muted)}.tp-tr__sep{color:var(--color-muted);margin:0 4px}.tp-chip{padding:5px 10px;border-radius:999px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--color-fg);font-family:inherit;font-size:.76rem;cursor:pointer;white-space:nowrap;transition:background .1s,border-color .1s}.tp-chip:hover{background:#ffffff1a}.tp-chip--on{background:#60a5fa38;border-color:#60a5faa6;color:#fff}.tp-typed{width:100%;background:#00000059;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--color-fg);font-family:ui-monospace,monospace;font-size:.82rem;padding:8px 10px;resize:vertical;min-height:40px;box-sizing:border-box}.tp-typed:focus{outline:1px solid rgba(96,165,250,.55);border-color:#60a5fa8c}.tp-apply-btn{align-self:flex-start;padding:6px 14px;background:#60a5fa33;border:1px solid rgba(96,165,250,.55);border-radius:7px;color:var(--color-fg);font-family:inherit;font-size:.8rem;cursor:pointer}.tp-apply-btn:hover{background:#60a5fa52}.mic-mode{display:flex;flex-direction:column;gap:8px}.mic-mode__head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.mic-mode__toggle,.mic-mode__quant{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;cursor:pointer}.mic-mode__err{color:#ff6b6b;font-size:.75rem}.mic-mode__readout{display:flex;align-items:baseline;gap:12px;padding:10px 14px;background:#00000059;border-radius:10px;border:1px solid rgba(255,255,255,.08)}.mic-mode__note{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--key-root)}.mic-mode__cents{font-size:.9rem;color:var(--color-muted);font-weight:500}.mic-mode__freq{font-size:.78rem;color:var(--color-muted);font-variant-numeric:tabular-nums;margin-left:auto}.mic-mode__listen{font-size:.85rem;color:var(--color-muted);font-style:italic}.mic-mode__actions{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.mic-mode__armed{font-size:.78rem;color:var(--color-muted)}.mic-mode__capture{padding:8px 14px;background:#ffd24a38;border:1px solid rgba(255,210,74,.6);border-radius:8px;color:var(--color-fg);font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.tp-typed code{background:#0006;padding:1px 4px;border-radius:3px}.mic-mode__capture:disabled{opacity:.4;cursor:not-allowed}.mic-mode__capture:hover:not(:disabled){background:#ffd24a59}.stepper{display:flex;flex-direction:column;align-items:center;gap:6px}.stepper__label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-muted)}.stepper__row{display:flex;align-items:stretch;border-radius:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);overflow:hidden;width:100%}.stepper__btn{flex:0 0 38px;background:transparent;color:var(--color-fg);border:none;font-size:1.25rem;font-weight:600;cursor:pointer;transition:background .1s}.stepper__btn:hover:not(:disabled){background:#ffffff1a}.stepper__btn:disabled{opacity:.3;cursor:not-allowed}.stepper__value{flex:1;display:grid;place-items:center;font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-fg);min-width:0;padding:8px 4px}.stepper--big .stepper__value{font-size:1.75rem}.stepper--big .stepper__btn{font-size:1.5rem}.tp-adv{border-top:1px solid rgba(255,255,255,.08);padding-top:10px}.tp-adv__toggle{all:unset;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--color-muted);padding:4px 0}.tp-adv__toggle:hover{color:var(--color-fg)}.tp-adv__body{display:flex;flex-direction:column;gap:14px;margin-top:8px}.tp-adv__section{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:10px;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.tp-adv__head{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.tp-check{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;cursor:pointer;text-transform:none;letter-spacing:0}.tp-strings__bar{display:flex;align-items:center;gap:8px;margin-bottom:2px}.tp-linkbtn{all:unset;cursor:pointer;padding:3px 8px;border-radius:5px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);font-size:.72rem;color:var(--color-fg)}.tp-linkbtn:hover{background:#ffffff1a}.tp-strings__count{margin-left:auto;font-size:.7rem;color:var(--color-muted)}.tp-strings__list{display:flex;flex-direction:column;padding-left:2px}.tp-str-wrap{position:relative}.tp-str-gap{position:absolute;left:-4px;top:calc(-1 * var(--row-gap, 0));height:100%;font-size:.58rem;color:#ffffff59;transform:translateY(-50%) translate(-100%);white-space:nowrap;font-variant-numeric:tabular-nums;padding-right:4px;pointer-events:none}.tp-str{display:grid;grid-template-columns:20px 22px 1fr 60px 22px;align-items:center;gap:6px;padding:3px 6px;border-radius:6px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);cursor:pointer;user-select:none}.tp-str:hover{background:#ffffff0f}.tp-str--on{background:#4dabf729;border-color:#4dabf78c}.tp-str--root{border-color:#ffd24a8c}.tp-str--root select{color:var(--color-accent)}.tp-str--ov select{color:#7dd3fc}.tp-str__idx{font-size:.65rem;color:var(--color-muted);text-align:right;font-variant-numeric:tabular-nums}.tp-str__note{display:flex;gap:4px;align-items:center}.tp-str__note select{background:transparent;border:1px solid rgba(255,255,255,.08);border-radius:4px;color:var(--color-fg);font-family:inherit;font-size:.75rem;padding:2px 3px}.tp-cents{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:var(--color-fg);font-family:inherit;font-size:.72rem;width:46px;text-align:right;padding:2px 4px}.tp-str__hz{font-size:.66rem;color:var(--color-muted);text-align:right;font-variant-numeric:tabular-nums}.tp-str__reset{all:unset;cursor:pointer;width:20px;height:20px;display:grid;place-items:center;border-radius:4px;color:#ffffff8c;background:#ffffff0a;font-size:.8rem}.tp-str__reset:hover{background:#ffffff1a;color:#fff}.tp-swap__hint{font-size:.7rem;color:var(--color-muted)}.tp-swap__btns{display:flex;flex-wrap:wrap;gap:6px}.tp-swap__btn{flex:1 1 calc(33% - 4px);min-width:70px;padding:6px 8px;border-radius:6px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--color-fg);font-family:inherit;font-size:.75rem;cursor:pointer;text-align:center}.tp-swap__btn:hover:not(:disabled){background:#60a5fa33;border-color:#60a5fa8c}.tp-swap__btn:disabled{opacity:.4;cursor:not-allowed}.sp{--key-root: #ffd24a;display:flex;flex-direction:column;gap:18px}.sp-h{margin:0 0 8px;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-muted);font-weight:600}.sp-sets__row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.sp-set{position:relative;flex:0 0 auto;min-width:110px;padding:10px 24px 10px 12px;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);cursor:pointer;display:flex;flex-direction:column;gap:3px;transition:background .12s,border-color .12s}.sp-set:hover{background:#ffffff17}.sp-set--active{background:#ffd24a2e;border-color:#ffd24ab3}.sp-set__name{font-size:.88rem;font-weight:600;white-space:nowrap}.sp-set__name-edit{background:#0006;border:1px solid rgba(255,210,74,.5);border-radius:4px;color:#fff;font-size:.88rem;font-weight:600;font-family:inherit;padding:2px 4px;width:100%;min-width:0}.sp-set__sub{font-size:.66rem;color:var(--color-muted);white-space:nowrap}.sp-set__del{position:absolute;top:4px;right:4px;width:20px;height:20px;display:grid;place-items:center;border:none;background:#00000059;color:#ffffffb3;border-radius:5px;font-size:1rem;line-height:1;cursor:pointer}.sp-set__del:hover{background:#ff5a5a8c;color:#fff}.sp-set--add{min-width:44px;padding:10px;align-items:center;justify-content:center;font-size:1.4rem;color:var(--color-muted);background:#ffffff08;border-style:dashed}.sp-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:6px}.sp-tile{all:unset;cursor:pointer;padding:8px 6px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:center;gap:2px;color:#fffc;transition:background .12s,color .12s,border-color .12s}.sp-tile:hover{background:#ffffff14;color:#fff}.sp-tile--on{background:#ffd24a2e;border-color:#ffd24aa6;color:var(--key-root)}.sp-tile__label{font-size:.76rem;font-weight:600}.sp-tile__tag{font-size:.62rem;color:var(--color-muted)}.sp-osc-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.sp-osc{all:unset;cursor:pointer;padding:8px 4px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:center;gap:4px;color:#ffffffb3;transition:background .12s,color .12s,border-color .12s}.sp-osc:hover{background:#ffffff14;color:#fff}.sp-osc--on{background:#60a5fa40;border-color:#60a5fab3;color:#fff}.sp-osc__glyph{width:44px;height:22px}.sp-osc__label{font-size:.6rem;text-transform:capitalize;color:inherit}.sp-env{width:100%;height:auto;display:block;background:#0000004d;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:2px;margin-bottom:6px}.sp-range{display:flex;flex-direction:column;gap:2px;padding:6px 2px}.sp-range__head{display:flex;justify-content:space-between;font-size:.76rem;font-variant-numeric:tabular-nums}.sp-range__k{color:var(--color-muted)}.sp-range__v{color:var(--color-fg);font-weight:600}.sp-range__input{-webkit-appearance:none;appearance:none;height:4px;border-radius:2px;background:#ffffff1a;outline:none}.sp-range__input::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--key-root);box-shadow:0 1px 3px #0009;cursor:pointer}.sp-range__input::-moz-range-thumb{width:16px;height:16px;border:none;border-radius:50%;background:var(--key-root);cursor:pointer}.sp-wet__hint{margin-top:4px;font-size:.62rem;color:var(--color-muted);font-variant-numeric:tabular-nums;text-align:center}.sp-gesture{font-size:.7rem;color:var(--color-muted);text-align:center;margin:4px 0 0}.tuner{position:absolute;inset:0;z-index:25;pointer-events:none;color:#f5f5f7;font-family:-apple-system,system-ui,sans-serif}.tuner>*{pointer-events:auto}.tuner__trail{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.tuner__air{position:absolute;top:12px;right:12px;padding:.35rem .9rem;background:#0a0a0fa6;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#ffffffe6;font-size:.72rem;letter-spacing:.14em;font-weight:600;font-family:-apple-system,system-ui,sans-serif;cursor:pointer}.tuner__air:hover{color:#fff;border-color:#fff3}.tuner__readout{position:absolute;top:14px;left:50%;transform:translate(-50%);text-align:center;background:#0a0a0fb3;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:clamp(6px,1.2vw,12px) clamp(10px,2vw,22px);min-width:clamp(120px,22vw,220px);max-width:min(92vw,480px);transition:border-color .18s ease,box-shadow .18s ease}.tuner__readout--intune{border-color:#4ade808c;box-shadow:0 0 22px #4ade8073,0 0 64px #4ade8038}.tuner__readout--intune .tuner__note,.tuner__readout--intune .tuner__cents{text-shadow:0 0 12px rgba(134,239,172,.85),0 0 28px rgba(74,222,128,.55)}.tuner__readout--off{border-color:#f871718c;box-shadow:0 0 22px #f8717166,0 0 64px #f8717133}.tuner__readout--off .tuner__note,.tuner__readout--off .tuner__cents{text-shadow:0 0 12px rgba(252,165,165,.8),0 0 28px rgba(248,113,113,.5)}.tuner__note{font-size:clamp(2.4rem,7.5vw,4.5rem);font-weight:700;letter-spacing:.03em;line-height:1;display:flex;align-items:baseline;justify-content:center;gap:.2em}.tuner__octave{font-size:clamp(1.1rem,3vw,2rem);font-weight:500;opacity:.6}.tuner__cents{font-size:clamp(1.3rem,4vw,2.4rem);font-weight:700;margin-left:.5em}.tuner__cents--intune{color:#4ade80}.tuner__cents--sharp{color:#fca5a5}.tuner__cents--flat{color:#7dd3fc}.tuner__target{font-size:clamp(.75rem,1.8vw,1.1rem);opacity:.6;margin-top:6px;letter-spacing:.04em}.tuner__hint,.tuner__error{font-size:clamp(.85rem,2vw,1.2rem);opacity:.75;padding:6px 0}.tuner__error{color:#ff6b6b;max-width:28ch}.drawer.library-drawer-surface{background:#0f0f14f5;backdrop-filter:blur(12px);color:#f5f5f7;font-family:-apple-system,system-ui,sans-serif}.drawer.library-drawer-surface .drawer__title{letter-spacing:.1em;text-transform:uppercase;font-weight:600}.drawer.library-drawer-surface .drawer__body{padding:0;gap:0}.library-drawer__search{position:sticky;top:0;z-index:1;background:#0f0f14f5;backdrop-filter:blur(12px);padding:10px 18px;border-bottom:1px solid rgba(255,255,255,.04)}.library-drawer__search input{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:8px 12px;color:#fff;font-size:.9rem}.library-drawer__search input::placeholder{color:#ffffff59}.library-drawer__search input:focus{outline:none;border-color:#ffd24a66}.library-drawer__summary{font-size:.72rem;color:#ffffff80;padding:12px 18px 8px;display:flex;align-items:center;gap:8px}.library-drawer__clear{background:none;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#ffffffb3;padding:2px 8px;font-size:.7rem;cursor:pointer}.library-drawer__clear:hover{background:#ffffff0f}.library-drawer__hint,.library-drawer__error{padding:12px 18px;font-size:.82rem}.library-drawer__hint{color:#ffffff8c}.library-drawer__error{color:#ff6b6b}.library-drawer__list{list-style:none;margin:0;padding:0}.library-drawer__item{width:100%;display:block;text-align:left;background:none;border:none;border-top:1px solid rgba(255,255,255,.03);color:#fff;padding:10px 18px;cursor:pointer;font-family:inherit}.library-drawer__item:hover:not(:disabled){background:#ffffff0a}.library-drawer__item:disabled{opacity:.5;cursor:progress}.library-drawer__item--active{background:#ffd24a17;border-left:3px solid #ffd24a;padding-left:15px}.library-drawer__item-title{font-size:.95rem;line-height:1.3}.library-drawer__item-sub{font-size:.7rem;color:#ffffff73;margin-top:2px}.tab-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:auto;z-index:2;cursor:default}.tab-overlay--clickable{cursor:pointer}.score-stats{position:fixed;top:0;right:0;height:100vh;height:100dvh;width:min(420px,88vw);z-index:50;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#0f0f14f5;border-left:1px solid rgba(255,255,255,.08);backdrop-filter:blur(12px);color:#f5f5f7;font-family:-apple-system,system-ui,sans-serif;font-size:.78rem;padding:16px 18px;padding-bottom:max(16px,env(safe-area-inset-bottom,16px));box-shadow:-8px 0 28px #00000080;transform:translate(0);transition:transform .2s ease-out}.score-stats__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.score-stats__title{margin:0;font-size:.85rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.score-stats__close{background:none;border:1px solid rgba(255,255,255,.14);border-radius:6px;color:#fff;width:24px;height:24px;font-size:.95rem;line-height:1;cursor:pointer}.score-stats__close:hover{background:#ffffff0f}.score-stats__group{margin:18px 0 0;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.score-stats__group:first-of-type{margin-top:4px;padding-top:0;border-top:none}.score-stats__group-head{display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;border:0;padding:4px 0;margin:0;cursor:pointer;color:inherit;font:inherit;text-align:left;-webkit-tap-highlight-color:transparent}.score-stats__group-head:hover .score-stats__group-title{color:#bae6fd}.score-stats__group-title{margin:0 0 2px;font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#7dd3fcd9}.score-stats__group-caret{display:inline-block;font-size:.7rem;color:#7dd3fcb3;transition:transform .16s ease}.score-stats__group--open .score-stats__group-caret{transform:rotate(90deg)}.score-stats__group-lede{margin:0 0 12px;font-size:.74rem;color:#ffffff8c;line-height:1.4}.score-stats__section{margin-bottom:14px}.score-stats__section:last-child{margin-bottom:0}.score-stats__subtitle{margin:0 0 2px;font-size:.84rem;font-weight:700;letter-spacing:.02em;color:#fffffff2;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.score-stats__subtitle-hint{display:block;font-size:.7rem;font-weight:400;color:#ffffff80;margin:0 0 6px;line-height:1.35}.score-stats__note{font-weight:400;font-size:.7rem;text-transform:none;letter-spacing:0;color:#fff9}.score-stats__note strong{color:#ffd24a}.score-stats__hint{margin:0;color:#86efaccc;font-size:.75rem}.score-stats__settings{display:flex;flex-direction:column;gap:6px}.score-stats__settings-row{display:grid;grid-template-columns:7.5em 1fr 4.2em;gap:8px;align-items:center;font-size:.78rem;color:#ffffffd9}.score-stats__settings-row input[type=range]{width:100%;accent-color:#ffd24a}.score-stats__settings-label{font-weight:600}.score-stats__settings-value{text-align:right;color:#fff9;font-variant-numeric:tabular-nums;font-size:.72rem}.score-stats__strings{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:4px}.score-stats__tg-wrap{overflow-x:auto;margin-top:6px;padding-bottom:4px}.score-stats__tg{display:grid;gap:4px;align-items:stretch;min-width:max-content}.score-stats__tg-corner{background:transparent}.score-stats__tg-octh{font-size:.6rem;color:#fff6;text-align:center;letter-spacing:.04em;text-transform:uppercase;padding-bottom:2px}.score-stats__tg-pcrow{font-size:.7rem;font-weight:700;color:#ffffffb3;align-self:center;text-align:right;padding-right:4px}.score-stats__tg-cell{display:flex;align-items:center;justify-content:center;gap:4px;padding:5px 4px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:5px;font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:600;min-height:28px;position:relative}.score-stats__tg-cell--empty{background:transparent;border:1px dashed rgba(255,255,255,.05)}.score-stats__tg-cell--unused{opacity:.42}.score-stats__tg-cell--root{border-color:#ffd24a8c;background:#ffd24a1a}.score-stats__tg-cell--fifth{border-color:#ef444480;background:#ef444414}.score-stats__tg-num{color:#ffffff8c;font-size:.62rem;font-weight:700}.score-stats__tg-role{font-size:.58rem;font-weight:800;padding:0 3px;border-radius:3px;background:#00000059}.score-stats__tg-cell--root .score-stats__tg-role{color:#ffd24a}.score-stats__tg-cell--fifth .score-stats__tg-role{color:#fca5a5}.score-stats__tg-count{font-size:.58rem;color:#ffffff80;font-weight:500}.score-stats__string{display:flex;align-items:center;gap:4px;padding:4px 6px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:5px;font-variant-numeric:tabular-nums}.score-stats__string--unused{opacity:.35}.score-stats__string--root{border-color:#ffd24a80;background:#ffd24a14}.score-stats__string--fifth{border-color:#ef444480;background:#ef44440f}.score-stats__string-num{color:#ffffff73;font-size:.65rem;min-width:1.5ch}.score-stats__string-name{font-weight:600;font-size:.78rem}.score-stats__string-role{font-size:.6rem;font-weight:700;padding:1px 4px;border-radius:3px;background:#0000004d;color:inherit}.score-stats__string--root .score-stats__string-role{color:#ffd24a}.score-stats__string--fifth .score-stats__string-role{color:#fca5a5}.score-stats__string-count{margin-left:auto;font-size:.62rem;color:#ffffff73}.score-stats__bends{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.score-stats__bend{display:flex;align-items:center;gap:8px;padding:5px 9px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-left:3px solid;border-radius:5px;font-variant-numeric:tabular-nums}.score-stats__bend-target{font-weight:700;font-size:.82rem;min-width:3.5ch}.score-stats__bend-arrow{color:#ffffff59}.score-stats__bend-action{flex:1;color:#ffffffd9;font-size:.74rem}.score-stats__bend-action strong{color:#fff}.score-stats__bend-count{font-size:.65rem;color:#fff6}.score-stats__apply{margin-top:8px;width:100%;background:#7dd3fc24;border:1px solid rgba(125,211,252,.4);border-radius:5px;color:#bae6fd;padding:5px 8px;font-family:inherit;font-size:.75rem;letter-spacing:.04em;cursor:pointer}.score-stats__apply:hover:not(:disabled){background:#7dd3fc38;color:#fff}.score-stats__apply--applied{background:#86efac1f;border-color:#86efac66;color:#bbf7d0;cursor:default}.score-stats__hint--muted{font-size:.7rem;color:#ffffff8c;margin:0 0 6px}.score-stats__vib-row{display:flex;gap:4px;margin-bottom:8px}.score-stats__vib-chip{flex:1;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:5px;color:#ffffffb8;padding:5px 6px;font-family:inherit;font-size:.78rem;font-weight:600;cursor:pointer}.score-stats__vib-chip:hover{background:#ffffff14;color:#fff}.score-stats__vib-chip--on{background:#ef444426;border-color:#ef44448c;color:#fecaca}.score-stats__vib-chip--sub{flex:0 0 auto;min-width:56px;font-size:.72rem;font-weight:500;letter-spacing:.02em}.score-stats__vib-chip:disabled{opacity:.35;cursor:not-allowed}.score-stats__vib-slider-row{display:flex;align-items:center;gap:10px;margin-bottom:4px}.score-stats__vib-label{width:48px;font-size:.7rem;color:#ffffff8c;letter-spacing:.04em}.score-stats__vib-slider-row input[type=range]{flex:1;accent-color:#ef4444;cursor:pointer;height:14px;margin:0}.score-stats__vib-value{font-variant-numeric:tabular-nums;font-size:.7rem;color:#ffffffbf;min-width:7ch;text-align:right}.score-stats__gliss-buckets{display:flex;flex-direction:column;gap:3px}.score-stats__gliss-bucket{display:flex;align-items:center;gap:8px;padding:4px 10px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:5px;color:#ffffffbf;font-family:inherit;font-size:.72rem;font-variant-numeric:tabular-nums;cursor:pointer}.score-stats__gliss-bucket:hover{background:#ffffff0f}.score-stats__gliss-bucket--on{background:#86efac14;border-color:#86efac66;color:#bbf7d0}.score-stats__gliss-dot{font-size:.6rem;opacity:.6}.score-stats__gliss-bucket--on .score-stats__gliss-dot{color:#86efac;opacity:1}.score-stats__gliss-dur{font-weight:700;min-width:3.5ch}.score-stats__gliss-count{margin-left:auto;font-size:.65rem;color:#ffffff73}.score-stats__gliss-bucket--on .score-stats__gliss-count{color:#bbf7d0bf}.score-stats__gliss-rate{display:flex;flex-direction:column;gap:4px;margin-top:10px}.score-stats__gliss-rate-label{display:flex;justify-content:space-between;font-size:.7rem;color:#ffffffb3}.score-stats__gliss-rate-val{font-variant-numeric:tabular-nums;color:#bae6fde6}.score-stats__gliss-rate input[type=range]{width:100%;accent-color:#7dd3fc}.score-stats__string-name small{font-size:.58rem;color:#ffffff73;margin-left:2px}.score-stats__viz{display:flex;flex-direction:column;gap:4px;margin:8px 0}.score-stats__viz-label{display:flex;justify-content:space-between;gap:8px;font-size:.7rem;color:#fff9}.score-stats__viz-label strong{color:#fffffff2}.score-stats__bar{display:flex;width:100%;height:10px;border-radius:5px;overflow:hidden;background:#ffffff0f}.score-stats__bar-seg{height:100%;transition:width .16s ease-out}.score-stats__bar-seg--plucks{background:#60a5fad9}.score-stats__bar-seg--nhan{background:#ef4444d9}.score-stats__bar-seg--long{background:#fdba74d9}.score-stats__bar-seg--medium{background:#facc15d9}.score-stats__bar-seg--short{background:#86efacd9}.score-stats__practice{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-direction:column;gap:4px}.score-stats__practice-row{display:grid;grid-template-columns:1fr 80px 3.5ch;align-items:center;gap:8px;font-size:.72rem;padding:3px 6px;border-radius:4px;background:#ffffff08}.score-stats__practice-row--nhan{border-left:2px solid rgba(239,68,68,.7)}.score-stats__practice-row--pluck{border-left:2px solid rgba(96,165,250,.7)}.score-stats__practice-label{color:#ffffffd9}.score-stats__practice-label strong{color:#fff}.score-stats__practice-bar{display:block;height:6px;width:100%;background:#ffffff0f;border-radius:3px;overflow:hidden}.score-stats__practice-bar-fill{display:block;height:100%;transition:width .16s ease-out}.score-stats__practice-bar-fill--nhan{background:#ef4444cc}.score-stats__practice-bar-fill--pluck{background:#60a5facc}.score-stats__practice-count{font-weight:700;color:#ffffffb3;text-align:right}.score-stats__l3{display:flex;flex-direction:column;gap:6px;margin-top:8px}.score-stats__l3 input[type=range]{flex:1;min-width:120px}.score-stats__l3 label{display:flex;align-items:center;gap:8px}.practice-priority{border-top:1px solid rgba(255,255,255,.06);padding-top:12px}.practice-priority__lede{margin:2px 0 10px;font-size:.72rem;color:#fff9;line-height:1.4}.pp-toolbar{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 8px}.pp-sort{font:inherit;font-size:.65rem;font-weight:600;letter-spacing:.02em;color:#ffffffb3;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:3px 8px;cursor:pointer}.pp-sort:hover{background:#ffffff14;color:#fff}.pp-sort--on{background:#7dd3fc2e;border-color:#7dd3fc80;color:#fff}.pp-patterns{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.pp-pattern-wrap{display:flex;flex-direction:column;gap:0}.pp-gap{display:flex;align-items:center;gap:6px;padding:3px 6px 3px 32px;font-size:.55rem;color:#ffffff73;font-variant-numeric:tabular-nums}.pp-gap__line{display:inline-block;height:0;min-width:18px;border-top:1px dashed rgba(255,255,255,.18)}.pp-gap__label{white-space:nowrap;letter-spacing:.04em;text-transform:uppercase}.pp-pattern{display:grid;grid-template-columns:64px 158px minmax(40px,1fr) 78px;gap:8px;align-items:center;padding:4px 6px;border-radius:4px;background:#ffffff06;border-left:3px solid rgba(255,255,255,.1);min-height:30px;font-size:.66rem}.pp-pattern--clean{border-left-color:#86efacb3}.pp-pattern--bent{border-left-color:#ffd24ad9;background:#ffd24a0a}.pp-pattern:hover{background:#ffffff0f}.pp-pattern--bent:hover{background:#ffd24a14}.pp-pattern__origin{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap}.pp-pattern__origin strong{font-weight:700;font-size:.78rem;color:#fff}.pp-num{display:inline-block;font-size:.55rem;color:#ffffff8c;background:#ffffff1a;padding:1px 4px;border-radius:2px;font-weight:600;font-variant-numeric:tabular-nums;min-width:18px;text-align:center}.pp-pattern__motion{display:inline-flex;align-items:center;gap:5px;min-width:0}.pp-pattern__arrow{color:#ffd24af2;font-size:.95rem;font-weight:700;line-height:1}.pp-pattern__target{font-weight:700;font-size:.8rem;color:#fff;letter-spacing:.01em}.pp-pattern--bent .pp-pattern__target{color:#fed75a}.pp-cent{position:relative;display:inline-flex;align-items:center;padding:1px 6px;border-radius:3px;font-size:.6rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em;overflow:hidden;min-width:52px;height:16px}.pp-cent__bar{position:absolute;inset:0 auto 0 0;z-index:0}.pp-cent__label{position:relative;z-index:1}.pp-cent--clean{color:#86efac;background:#4ade8014}.pp-cent--clean .pp-cent__bar{background:linear-gradient(to right,#4ade802e,#4ade800f)}.pp-cent--easy{color:#ffe682;background:#ffd75a0f}.pp-cent--easy .pp-cent__bar{background:linear-gradient(to right,#ffd75a59,#ffd75a1f)}.pp-cent--med{color:#ffc846;background:#f59e0b14}.pp-cent--med .pp-cent__bar{background:linear-gradient(to right,#f59e0b73,#f59e0b26)}.pp-cent--hard{color:#fca569;background:#ea580c1a}.pp-cent--hard .pp-cent__bar{background:linear-gradient(to right,#ea580c8c,#ea580c2e)}.pp-cent--extreme{color:#fca5a5;background:#dc26261f}.pp-cent--extreme .pp-cent__bar{background:linear-gradient(to right,#dc2626b3,#dc262638)}.pp-pattern__hist{display:flex;align-items:flex-end;gap:2px;height:24px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;border-bottom:1px dotted rgba(255,255,255,.1);padding-right:4px;mask-image:linear-gradient(to right,black 0,black calc(100% - 12px),transparent 100%);-webkit-mask-image:linear-gradient(to right,black 0,black calc(100% - 12px),transparent 100%)}.pp-pattern__hist::-webkit-scrollbar{display:none}.pp-pattern__bar{display:inline-block;width:6px;min-width:6px;flex:0 0 auto;border-radius:1px 1px 0 0;border-bottom:1px solid rgba(0,0,0,.3)}.pp-pattern__bar--clean{background:linear-gradient(to top,#4ade80e6,#86eface6)}.pp-pattern__bar--bent{background:linear-gradient(to top,#f59e0be6,#ffd24ae6)}.pp-pattern__count{display:flex;flex-direction:column;align-items:flex-end;gap:1px;font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.1}.pp-pattern__count strong{font-weight:800;font-size:.85rem;color:#fff}.pp-pattern__beats{font-size:.58rem;color:#ffffff8c}.score-hud{position:absolute;top:56px;left:12px;right:12px;z-index:6;display:flex;align-items:center;gap:6px;padding:2px 6px;background:#0a0a0f6b;border:1px solid rgba(255,255,255,.08);border-radius:7px;color:#ffffffe0;font-family:-apple-system,system-ui,sans-serif;font-size:.68rem;white-space:nowrap;backdrop-filter:blur(6px);line-height:1;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.score-hud::-webkit-scrollbar{display:none}.score-hud>*{flex:0 0 auto}.score-hud__title{font-weight:600;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:16ch;flex-shrink:1;min-width:0;color:#ffffffeb}.score-hud__meta{display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums;color:#ffffff80;font-size:.64rem}.score-hud__meta-sep{opacity:.5}.score-hud__dot{color:#86eface6;font-size:.55rem;line-height:1}.score-hud__mic-err{color:#ff9a9a;font-weight:700;border:1px solid rgba(255,154,154,.5);border-radius:999px;width:12px;height:12px;display:inline-flex;align-items:center;justify-content:center;font-size:.55rem}.score-hud__chip{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#ffffffe0;padding:2px 6px;font-size:.62rem;line-height:1;cursor:pointer;font-family:inherit;min-width:20px;text-align:center;font-weight:600;letter-spacing:.04em}.score-hud__chip:hover{background:#ffffff17}.score-hud__chip--mode{min-width:18px;font-size:.7rem}.score-hud__chip--active{background:#86efac24;border-color:#86efac6b;color:#86efac}.score-hud__btn{background:none;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#ffffffd1;width:20px;height:20px;font-size:.75rem;line-height:1;cursor:pointer;font-family:inherit;padding:0;display:inline-flex;align-items:center;justify-content:center}.score-hud__btn:hover:not(:disabled){background:#ffffff14;color:#fff}.score-hud__btn:disabled{opacity:.3;cursor:default}.score-hud__btn--active{background:#7dd3fc26;border-color:#7dd3fc73;color:#bae6fd}.score-hud__play{color:#ffd24a;font-size:.65rem;letter-spacing:-.05em}.score-hud__slider{width:60px;accent-color:#ffd24a;cursor:pointer;height:14px;margin:0}.score-hud__bpm{font-variant-numeric:tabular-nums;font-size:.6rem;color:#ffffff8c;min-width:2ch;text-align:right}.score-hud__suggest{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;background:#7dd3fc1a;border:1px solid rgba(125,211,252,.3);border-radius:4px;color:#bae6fd;font-family:inherit;font-size:.6rem;letter-spacing:.02em;cursor:pointer;line-height:1}.score-hud__suggest:hover:not(:disabled){background:#7dd3fc2e}.score-hud__suggest--applied{background:#86efac1a;border-color:#86efac59;color:#bbf7d0;cursor:default}.score-hud__suggest--applied .score-hud__suggest-rate{background:#86efac26;color:#bbf7d0cc}.score-hud__suggest--penta{background:#ffd24a14;border-color:#ffd24a59;color:#ffecb3}.score-hud__suggest--penta:hover:not(:disabled){background:#ffd24a24}.score-hud__suggest--penta .score-hud__suggest-rate{background:#ffd24a26;color:#ffecb3cc}.score-hud__suggest--std{background:#ffffff0d;border-color:#ffffff2e;color:#fffc;font-weight:600;letter-spacing:.06em}.score-hud__suggest--std:hover:not(:disabled){background:#ffffff1a;color:#fff}.score-hud__suggest-text{font-weight:700}.score-hud__suggest-rate{font-variant-numeric:tabular-nums;font-size:.55rem;color:#bae6fdb3;padding:1px 3px;background:#7dd3fc26;border-radius:3px}.score-hud__done{font-size:.58rem;color:#86efacd9;letter-spacing:.12em;text-transform:uppercase;margin-left:2px}.score-hud__transpose{display:inline-flex;align-items:center;gap:2px;padding:0 4px;border-left:1px solid rgba(255,255,255,.08);border-right:1px solid rgba(255,255,255,.08);margin:0 2px}.score-hud__xpose-btn{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:3px;color:#ffffffd1;padding:2px 4px;font-size:.55rem;line-height:1;cursor:pointer;font-family:inherit;font-variant-numeric:tabular-nums;min-width:3.2ch;text-align:center}.score-hud__xpose-btn:hover:not(:disabled){background:#ffffff17;color:#fff}.score-hud__xpose-btn:disabled{opacity:.3;cursor:default}.score-hud__chip--xpose{font-variant-numeric:tabular-nums;min-width:3.4ch;font-size:.6rem;letter-spacing:0;margin:0 1px}.score-hud__transpose-unit{opacity:.55;margin-left:1px}.score-hud__toast{position:absolute;top:40px;left:50%;transform:translate(-50%);z-index:7;background:#190c0ceb;border:1px solid rgba(255,154,154,.5);border-radius:6px;padding:6px 12px;color:#ffd1d1;font-family:-apple-system,system-ui,sans-serif;font-size:.7rem;line-height:1.3;max-width:min(90vw,440px);white-space:normal;text-align:center;backdrop-filter:blur(6px);animation:score-hud-toast-in .16s ease-out}@keyframes score-hud-toast-in{0%{opacity:0;transform:translate(-50%,-4px)}to{opacity:1;transform:translate(-50%)}}.suggest-popover{pointer-events:none;background:#0f1218f5;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:10px 12px;color:#ffffffeb;font-family:-apple-system,system-ui,sans-serif;font-size:.72rem;line-height:1.35;min-width:240px;max-width:min(420px,92vw);box-shadow:0 8px 24px #00000073;backdrop-filter:blur(8px);animation:suggest-popover-in .12s ease-out}@keyframes suggest-popover-in{0%{opacity:0;transform:translate(-50%,-2px)}to{opacity:1;transform:translate(-50%)}}.suggest-popover__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:2px}.suggest-popover__variant{font-weight:700;font-size:.78rem;letter-spacing:.02em}.suggest-popover__rate{font-variant-numeric:tabular-nums;font-size:.7rem;color:#bae6fdf2;background:#7dd3fc29;padding:1px 6px;border-radius:4px}.suggest-popover__sub{color:#ffffffa6;margin-bottom:8px}.suggest-popover__strings{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:8px}.suggest-popover__string{display:inline-flex;align-items:center;gap:2px;padding:2px 5px;border-radius:4px;font-size:.62rem;font-variant-numeric:tabular-nums;border:1px solid transparent;pointer-events:auto}.suggest-popover__string-num{opacity:.55;font-size:.55rem}.suggest-popover__string-label{font-weight:600}.suggest-popover__string-mark{font-size:.6rem;margin-left:1px}.suggest-popover__string--clean{background:#86efac2e;border-color:#86efac73;color:#bbf7d0}.suggest-popover__string--bent{background:#ffd24a29;border-color:#ffd24a73;color:#fef08a}.suggest-popover__string--unused{background:#ffffff0a;border-color:#ffffff14;color:#ffffff73}.suggest-popover__legend{display:flex;flex-wrap:wrap;gap:8px;font-size:.62rem;color:#fff9;border-top:1px solid rgba(255,255,255,.06);padding-top:6px}.suggest-popover__legend-item--clean{color:#bbf7d0f2}.suggest-popover__legend-item--bent{color:#fef08af2}.suggest-popover__legend-item--unused{color:#ffffff73}.suggest-popover__foot{margin-top:6px;font-size:.65rem;color:#ffffffb3}.suggest-popover__press{margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.06)}.suggest-popover__press-head{font-size:.66rem;color:#fef08af2;margin-bottom:4px}.suggest-popover__press-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:168px;overflow-y:auto}.suggest-popover__press-item{display:flex;justify-content:space-between;gap:10px;padding:2px 6px;border-radius:3px;background:#ffd24a14;font-size:.65rem}.suggest-popover__press-string{font-weight:600;color:#fef08a;font-variant-numeric:tabular-nums}.suggest-popover__press-detail{font-variant-numeric:tabular-nums;color:#ffffffbf}.suggest-popover__press-empty{margin-top:6px;padding:6px 8px;border-radius:4px;background:#86efac1a;color:#bbf7d0f2;font-size:.66rem;text-align:center}.lyrics-bar{position:absolute;left:0;right:0;bottom:12px;height:220px;z-index:7;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(to right,transparent 0,black 8%,black 92%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,black 8%,black 92%,transparent 100%)}.lyrics-bar__strip{display:inline-flex;gap:.55ch;white-space:nowrap;align-items:center;height:100%;padding:0 50%;transform:translate(0);transition:transform .22s cubic-bezier(.4,0,.2,1);font-family:-apple-system,system-ui,Segoe UI,sans-serif;font-size:5.25rem;font-weight:500;letter-spacing:.01em}.lyrics-bar__word{color:#ffffff8c;text-shadow:0 1px 2px rgba(0,0,0,.7);transition:color .18s ease,text-shadow .18s ease,transform .18s ease}.lyrics-bar__word--past{color:#ffffff52}.lyrics-bar__word--active{color:#ffd24a;text-shadow:0 0 8px rgba(255,210,74,.5),0 1px 2px rgba(0,0,0,.85);transform:scale(1.08)}.stage-wrap{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--color-bg, #0a0a0f);overflow:hidden}.stage{position:relative;width:100%;height:100%;background:#0a0a0f}.stage__overlay{position:absolute;inset:0;pointer-events:none}.strings-overlay{position:absolute;inset:0;width:100%;height:100%}.stage__start{position:absolute;inset:0;z-index:30;background:#0a0a0ff0;border:none;color:#f5f5f7;font-family:-apple-system,system-ui,sans-serif;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:2rem;cursor:pointer}.stage__start-play{font-size:3rem;color:#ffd24a;line-height:1}.stage__start-label{font-size:1.2rem;font-weight:600;letter-spacing:.04em}.stage__start-hint{font-size:.85rem;opacity:.55;max-width:24ch;text-align:center}.field{display:grid;gap:.35rem;font-size:.85rem}.field__row{display:flex;justify-content:space-between;align-items:baseline}.field__label{color:var(--color-fg)}.field__value{font-variant-numeric:tabular-nums;color:var(--color-accent);font-weight:500}.field__hint{color:var(--color-muted);font-size:.74rem;line-height:1.35}.field input[type=range]{width:100%;accent-color:var(--color-accent)}.field select,.field input[type=text],.field input[type=number]{padding:.4rem .55rem;font-family:inherit;font-size:.9rem;background:#ffffff0d;color:var(--color-fg);border:1px solid rgba(255,255,255,.12);border-radius:8px;outline:none}.field select:focus,.field input:focus{border-color:var(--color-accent)}.app-root{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--color-bg);color:var(--color-fg);overflow:hidden;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.app-root__fallback{flex:1;display:grid;place-items:center;padding:2rem}.telemetry{position:fixed;left:14px;bottom:14px;z-index:15;display:flex;gap:.6rem;padding:.35rem .7rem;border-radius:999px;background:#0a0a0f8c;border:1px solid rgba(255,255,255,.08);color:var(--color-muted);font-size:.75rem;font-variant-numeric:tabular-nums;pointer-events:none}:root{--color-bg: #0a0a0f;--color-surface: #13131a;--color-surface-hi: #1c1c26;--color-fg: #f5f5f7;--color-muted: rgba(245, 245, 247, .6);--color-accent: #ffd24a;--color-accent-hi: #ffde7d;--color-left: #7dd3fc;--color-right: #fca5a5;--color-error: #ff6b6b;--color-success: #4ade80;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 40px;color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none;text-rendering:optimizeLegibility}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%}body{background:radial-gradient(ellipse at top,#13131a,#0a0a0f 70%);color:var(--color-fg);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{color:inherit;text-decoration:none}button{font-family:inherit;color:inherit}::selection{background:var(--color-accent);color:var(--color-bg)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
