body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#121212;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@property --panel-accent{syntax:"<color>";inherits:false;initial-value:#1c1c1c}.panel button{touch-action:auto}.panel{background:linear-gradient(to bottom,var(--panel-accent) 0,#1c1c1c 55%);border-radius:16px 16px 0 0;border-top:1px solid #ffffff14;box-shadow:0 -4px 24px #00000080;cursor:grab;display:flex;flex-direction:column;height:100dvh;left:0;overscroll-behavior:none;position:fixed;right:0;touch-action:none;transition:--panel-accent .4s ease;will-change:top;z-index:200}.panel--dragging{cursor:grabbing}.panel__grabber-zone{align-items:center;display:flex;flex-shrink:0;height:28px;justify-content:center;-webkit-user-select:none;user-select:none}.panel__grabber{background:#ffffff40;border-radius:2px;height:4px;pointer-events:none;width:36px}.panel__content{display:flex;flex:1 1;flex-direction:column;gap:4px;min-height:0;overflow-y:auto;padding:8px 20px 32px;scrollbar-color:#fff3 #1c1c1c;scrollbar-gutter:stable;scrollbar-width:thin;touch-action:none}.panel__content::-webkit-scrollbar{width:8px}.panel__content::-webkit-scrollbar-track{background:#1c1c1c}.panel__content::-webkit-scrollbar-thumb{background:#fff3;border:2px solid #1c1c1c;border-radius:3px}.panel__content::-webkit-scrollbar-thumb:hover{background:#ffffff59}.panel__close{display:none}@media (orientation:landscape){.panel{background:linear-gradient(to bottom,var(--panel-accent) 0,#1c1c1c 55%);border-left:1px solid #ffffff14;border-radius:0;border-top:none;box-shadow:-4px 0 0 #0000;cursor:default;height:100dvh;left:auto;right:0;top:0;touch-action:auto;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1),box-shadow .35s cubic-bezier(.4,0,.2,1),--panel-accent .4s ease;width:var(--landscape-panel-width);will-change:transform}.panel--open{box-shadow:-4px 0 24px #00000080;transform:translateX(0)}.panel__content{overflow-y:auto;padding-top:52px}.panel__close{align-items:center;background:#ffffff1a;border:none;border-radius:50%;color:#ffffffb3;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:32px;justify-content:center;position:absolute;right:14px;top:12px;transition:background .15s,color .15s;width:32px;z-index:1}.panel__close:hover{background:#ffffff2e;color:#fff}}.detail-panel__top-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px}.detail-panel__art-column{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:8px;margin-right:8px;position:relative}.detail-panel__diff-columns{display:flex;flex:1 0 200px;gap:16px}.detail-panel__diff-col{grid-gap:8px;align-items:center;display:grid;flex:1 1;gap:8px;grid-template-columns:max-content 1fr}.detail-panel__song-info{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.detail-panel__avatar{border-radius:8px;flex-shrink:0;height:122px;overflow:hidden;position:relative;width:122px}.detail-panel__avatar img{height:100%;object-fit:cover;width:100%}.detail-panel__title{color:#fff;font-size:22px;font-weight:700}.detail-panel__artist,.detail-panel__title{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-panel__artist{color:#ffffff8c;font-size:15px}.detail-panel__album{color:#fff6;font-size:13px;margin:0}.detail-panel__meta{color:#ffffff73;display:flex;flex-wrap:wrap;font-size:13px;gap:4px 0;margin-top:0}.detail-panel__meta span:not(:last-child):after{content:"·";margin:0 8px;opacity:.4}.detail-panel__badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:0}.detail-panel__badge{background:#ffffff1a;border-radius:4px;color:#ffffffa6;display:inline-block;font-size:12px;font-weight:500;letter-spacing:.02em;padding:3px 8px}.detail-panel__badge--duration{color:#fffc}.detail-panel__play-button{align-items:center;background:#ffb300;border:none;border-radius:50%;bottom:-12px;color:#1a1100;cursor:pointer;display:flex;font-size:15px;height:36px;justify-content:center;left:calc(50% + 38px);padding:0;position:absolute;transition:background .15s;width:36px;z-index:1}.detail-panel__play-button:hover{background:#e6a100}.detail-panel__diff-row{display:contents}.detail-panel__diff-label{flex-shrink:0;height:18px;object-fit:contain;opacity:.7;width:18px}.detail-panel__diff-dots{align-items:center;display:flex;flex:1 1;gap:4px;justify-content:center}.detail-panel__diff-dot{background:#ffffff26;border-radius:50%;flex-shrink:0;height:10px;width:10px}.detail-panel__diff-dot--filled{background:#ffffffbf}.detail-panel__diff-dot--red{background:#ff0000bf}.detail-panel__diff-none{color:#fff3;flex:1 1;font-size:10px;font-weight:300;letter-spacing:.15em;text-align:center;text-transform:uppercase}.detail-panel__diff-dots--compact{flex:none;gap:2px}.detail-panel__diff-dots--compact .detail-panel__diff-dot{height:5px;width:5px}.detail-panel__diff-none--compact{flex:none;font-size:7px}.detail-panel__add-queue-btn{background:#ffffff1f;border:none;border-radius:8px;color:#ffffffb3;cursor:pointer;font-size:15px;font-weight:600;margin-top:4px;padding:12px;transition:background .2s,color .2s;width:100%}.detail-panel__add-queue-btn:hover{background:#fff3}.detail-panel__add-queue-btn--success{background:#ffb300;color:#121212}.detail-panel__add-queue-btn--success:hover{background:#ffb300}.detail-panel__lyrics{animation:lyrics-fade-in .4s ease;flex:1 1;margin-top:8px;min-height:0;overflow-y:auto;scrollbar-color:#ffffff26 #0000;scrollbar-width:thin;touch-action:pan-y}@keyframes lyrics-fade-in{0%{opacity:0}to{opacity:1}}.detail-panel__lyrics::-webkit-scrollbar{width:6px}.detail-panel__lyrics::-webkit-scrollbar-track{background:#0000}.detail-panel__lyrics::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.detail-panel__lyrics-text{color:#fff9;font-family:inherit;font-size:14px;line-height:1.6;margin:0;padding:4px 0;white-space:pre-wrap;word-break:break-word}.filter-panel{display:flex;flex-direction:column}.filter-panel__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.filter-panel__title{color:#fff;font-size:18px;font-weight:700;margin:0}.filter-panel__clear-all{background:none;border:none;color:#ffb300d9;cursor:pointer;font-size:13px;font-weight:500;line-height:1;padding:0;transition:color .12s}.filter-panel__clear-all:hover{color:#ffb300}.filter-section{border-top:1px solid #ffffff12;margin-top:10px;padding-top:14px}.filter-section__header-row{align-items:center;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:10px;padding:2px 0;-webkit-user-select:none;user-select:none}.filter-section--open .filter-section__header-row{margin-bottom:10px}.filter-section:not(.filter-section--open) .filter-section__header-row{margin-bottom:0}.filter-section__label{align-items:center;color:#fff6;display:flex;font-size:11px;font-weight:500;gap:6px;letter-spacing:.08em;text-transform:uppercase}.filter-section__dot{background:#ffb300;border-radius:50%;flex-shrink:0;height:6px;width:6px}.filter-section__header-right{align-items:center;display:flex;gap:8px}.filter-section__clear-link{background:none;border:none;color:#ffb300b3;cursor:pointer;font-size:12px;font-weight:500;line-height:1;padding:0;transition:color .12s}.filter-section__clear-link:hover{color:#ffb300}.filter-section__chevron{color:#ffffff4d;flex-shrink:0;height:14px;transition:transform .2s ease;width:14px}.filter-section__chevron--open{transform:rotate(180deg)}.filter-section__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}.filter-section__body>*{overflow:hidden}.filter-section--open .filter-section__body{grid-template-rows:1fr}.filter-chip-row{display:flex;flex-wrap:wrap;gap:6px}.filter-chip{align-items:center;background:#ffffff14;border:1.5px solid #0000;border-radius:20px;color:#ffffffa6;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:5px;padding:5px 11px;transition:border-color .12s,color .12s,background .12s}.filter-chip:hover{background:#ffffff1f}.filter-chip--active{background:#ffb30014;border-color:#ffb300;color:#ffb300}.filter-chip__icon{height:16px;object-fit:contain;width:16px}.tag-chip__icon{flex-shrink:0;height:14px;width:14px}.tag-chip--on{background:#4caf5014;border-color:#4caf50;color:#4caf50}.tag-chip--on:hover{background:#4caf5026}.tag-chip--off{background:#f4433614;border-color:#f44336;color:#f44336}.tag-chip--off:hover{background:#f4433626}.instrument-list{display:flex;flex-direction:column;gap:10px}.instrument-row,.instrument-row__label{align-items:center;display:flex;gap:10px}.instrument-row__label{background:none;border:none;cursor:pointer;padding:0;-webkit-user-select:none;user-select:none}.instrument-row__icon{flex-shrink:0;height:18px;object-fit:contain;opacity:.5;transition:opacity .12s;width:18px}.instrument-row--active .instrument-row__icon{opacity:1}.instrument-row__name{color:#ffffff8c;font-size:13px;min-width:72px;text-align:left;transition:color .12s;white-space:nowrap}.instrument-row--active .instrument-row__name{color:#ffffffe6}.instrument-row .dual-range{flex:1 1}.dual-range{align-items:center;display:flex;height:28px;position:relative}.dual-range__track{background:#ffffff1a;border-radius:5px}.dual-range__segments,.dual-range__track{height:10px;left:7px;pointer-events:none;position:absolute;right:7px;top:9px}.dual-range__segments{display:flex;gap:0}.dual-range__segment{background:#0000;box-shadow:1px 0 0 #00000059;flex:1 1;height:10px}.dual-range__segment:last-child{box-shadow:none}.dual-range__fill{background:#ffb30073;border-radius:5px;height:10px;pointer-events:none;position:absolute;top:9px;transition:left .1s ease,width .1s ease,background .15s}.instrument-row--active .dual-range__fill{background:#ffb300}.dual-range__input{appearance:none;-webkit-appearance:none;background:#0000;height:10px;margin:0;padding:0;pointer-events:none;position:absolute;top:9px;touch-action:none;width:100%}.dual-range__input--hi{z-index:1}.dual-range__input::-webkit-slider-runnable-track{-webkit-appearance:none;height:10px}.dual-range__input::-webkit-slider-thumb{-webkit-appearance:none;background:#e0e0e0;border-radius:7px;box-shadow:0 1px 4px #00000073;cursor:pointer;height:22px;margin-top:-6px;pointer-events:all;-webkit-transition:transform .1s,background .1s;transition:transform .1s,background .1s;width:14px}.dual-range__input:active::-webkit-slider-thumb{transform:scale(1.2)}.instrument-row--active .dual-range__input::-webkit-slider-thumb{background:#ffb300}.dual-range__input::-moz-range-thumb{background:#e0e0e0;border:none;border-radius:7px;box-shadow:0 1px 4px #00000073;cursor:pointer;height:22px;pointer-events:all;width:14px}.instrument-row--active .dual-range__input::-moz-range-thumb{background:#ffb300}.dual-range__input::-moz-range-track{background:#0000;height:10px}.dual-range__popup{align-items:center;background:#121212f2;border:1px solid #ffffff24;border-radius:5px;display:flex;min-height:18px;padding:4px 8px;pointer-events:none;white-space:nowrap}.dual-range__popup-dots{align-items:center;display:flex;gap:4px}.dual-range__popup-dot{background:#ffffff26;border-radius:50%;flex-shrink:0;height:10px;width:10px}.dual-range__popup-dot--filled{background:#ffffffbf}.dual-range__popup-dot--red{background:#ff0000bf}.dual-range__popup-none{color:#fff3;font-size:10px;font-weight:300;letter-spacing:.15em;text-transform:uppercase}.checklist{display:flex;flex-direction:column;gap:2px;max-height:160px;overflow-y:auto;scrollbar-color:#fff3 #1c1c1c;scrollbar-gutter:stable;scrollbar-width:thin;touch-action:pan-y}.checklist::-webkit-scrollbar{width:8px}.checklist::-webkit-scrollbar-track{background:#1c1c1c}.checklist::-webkit-scrollbar-thumb{background:#fff3;border:2px solid #1c1c1c;border-radius:3px}.checklist::-webkit-scrollbar-thumb:hover{background:#ffffff59}.checklist__item{align-items:center;border-radius:4px;cursor:pointer;display:flex;gap:10px;padding:5px 2px;transition:background .1s}.checklist__item:hover{background:#ffffff0a}.checklist__checkbox{accent-color:#ffb300;cursor:pointer;flex-shrink:0;height:15px;width:15px}.checklist__text{color:#ffffffbf;font-size:14px}.nav-bar{align-items:center;background:#121212;border-top:1px solid #ffffff1a;bottom:0;display:flex;height:64px;justify-content:space-around;left:0;padding-bottom:env(safe-area-inset-bottom);position:fixed;right:0;z-index:100}.nav-bar--landscape{border-right:1px solid #ffffff1a;border-top:none;bottom:0;flex-direction:column;gap:8px;height:auto;justify-content:center;padding-bottom:0;padding-top:env(safe-area-inset-top);right:auto;top:0;width:72px}.nav-bar__item{-webkit-tap-highlight-color:transparent;align-items:center;background:none;border:none;color:#fff6;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:8px 4px;position:relative;transition:color .2s}.nav-bar__item:hover{color:#ffffffb3}.nav-bar__item:active{color:#ffffffe6}.nav-bar__item--active{color:#ffb300}.nav-bar__item svg{fill:currentColor;height:24px;width:24px}.nav-bar__label{font-size:10px;font-weight:500;white-space:nowrap}.nav-bar__toast{animation:toast-pop 1.5s ease forwards;background:#ffb300;border-radius:10px;color:#1a1100;font-size:11px;font-weight:700;line-height:16px;padding:1px 6px;pointer-events:none;position:absolute;right:2px;top:0}@keyframes toast-pop{0%{opacity:0;transform:scale(.5) translateY(4px)}15%{opacity:1;transform:scale(1.15) translateY(0)}25%{transform:scale(1) translateY(0)}70%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.8) translateY(-6px)}}.nav-bar__badge{background:#ffb300;border-radius:50%;height:8px;pointer-events:none;position:absolute;right:6px;top:2px;width:8px}.search-bar{align-items:center;background:#1c1c1c;display:flex;flex-shrink:0;gap:10px;height:var(--search-height);padding:0 16px}.search-icon{color:#ffffff59;flex-shrink:0;height:18px;width:18px}.search-input{background:none;border:none;caret-color:#ffb300;color:#fff;flex:1 1;font-family:inherit;font-size:15px;outline:none}.search-input::placeholder{color:#ffffff4d}.search-input::-webkit-search-cancel-button{display:none}.search-clear{background:none;border:none;color:#fff6;cursor:pointer;flex-shrink:0;font-size:13px;line-height:1;padding:4px;transition:color .12s}.search-clear:hover{color:#fff}.alpha-wrapper{bottom:0;flex-direction:column;right:8px;top:var(--search-height);z-index:100}.alpha-bubble,.alpha-wrapper{display:flex;justify-content:center;pointer-events:none;position:fixed}.alpha-bubble{align-items:center;animation:bubble-in .12s cubic-bezier(.34,1.56,.64,1);background:#ffb300;border-radius:50% 4px 50% 50%;box-shadow:0 4px 20px #ffb30066;color:#1a1100;font-size:30px;font-weight:800;height:58px;letter-spacing:-1px;right:44px;width:58px}@keyframes bubble-in{0%{opacity:0;scale:.4}to{opacity:1;scale:1}}.alpha-strip{align-items:center;border-radius:4px;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;height:auto;justify-content:space-between;margin-right:2px;opacity:0;overflow:hidden;padding:8px 5px;pointer-events:all;position:relative;touch-action:none;transition:background .15s,opacity .2s ease;-webkit-user-select:none;user-select:none}.alpha-strip--visible{background:#ffffff0a;opacity:1}.alpha-strip--active{background:#ffffff17}.alpha-letter{color:#ffffff61;display:block;font-size:10px;font-weight:600;line-height:1;position:relative;text-align:center;transition:color .08s,transform .08s;width:16px;z-index:1}.alpha-letter--current{color:#ffffffd9;transform:scale(1.15)}.alpha-letter--active{color:#ffb300;transform:scale(1.25)}.alpha-letter--missing{opacity:.2}.alpha-bubble__content{align-items:center;display:flex;justify-content:center;transform:rotate(-45deg)}.alpha-bubble .detail-panel__diff-dot{box-shadow:0 0 0 1px #00000040}.alpha-bubble .detail-panel__diff-none--compact{color:#1a11008c}@media (orientation:landscape){.alpha-wrapper{transition:right .35s cubic-bezier(.4,0,.2,1)}.App--panel-open .alpha-wrapper{right:calc(var(--landscape-panel-width) + 8px)}.alpha-bubble{transition:right .35s cubic-bezier(.4,0,.2,1)}.App--panel-open .alpha-bubble{right:calc(var(--landscape-panel-width) + 44px)}}.entry-row{border-bottom:1px solid #ffffff12;box-sizing:border-box;cursor:pointer;overflow:hidden;position:relative;touch-action:pan-y;-webkit-user-select:none;user-select:none}.entry-row--dragging{visibility:hidden}.entry-row__swipe-bg{align-items:center;bottom:0;display:flex;justify-content:space-between;left:0;padding:0 24px;position:absolute;right:0;top:0;transition:background-color .2s ease}.entry-row__swipe-icon{transition:color .2s ease}.entry-row__content{align-items:center;background:#121212;box-sizing:border-box;display:flex;gap:12px;height:100%;padding:0 16px;position:relative;z-index:1}.entry-row__content:hover:after{background:#ffffff0d;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.entry-row__content--swiping{transition:transform .2s ease}.entry-avatar{aspect-ratio:1;border-radius:4px;flex-shrink:0;height:calc(100% - 16px);overflow:hidden}.entry-avatar img{height:100%;object-fit:cover;width:100%}.entry-text{display:flex;flex:1 1;flex-direction:column;justify-content:center;overflow:hidden}.entry-title{color:#fff;font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-title--selected{color:#ffb300}.entry-artist{color:#ffffff80;font-size:12px;margin-top:2px}.entry-artist,.entry-subtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-subtitle{color:#ffffff59;font-size:11px;margin-top:1px}.entry-row__drag-handle{align-items:center;color:#ffffff40;cursor:grab;display:flex;flex-shrink:0;height:100%;justify-content:center;touch-action:none;width:44px}.entry-row__drag-handle:active{color:#ffffff8c;cursor:grabbing}.entry-row__dismiss-btn{align-items:center;background:none;border:none;border-radius:50%;color:#ffffff4d;cursor:pointer;display:flex;flex-shrink:0;font-size:22px;height:32px;justify-content:center;line-height:1;padding:0;transition:background .15s,color .15s;width:32px}.entry-row__dismiss-btn:hover{background:#ff3c3c33;color:#ff6060}@media (orientation:portrait){.entry-title{font-size:18px}.entry-artist{font-size:14px}}.sort-header{border-bottom:1px solid #ffffff12;box-sizing:border-box;padding:0 8px}.sort-button,.sort-header{align-items:center;display:flex}.sort-button{background:none;border:none;border-radius:6px;color:#fff6;cursor:pointer;font-family:inherit;font-size:13px;gap:8px;letter-spacing:.01em;padding:6px 10px;transition:background .12s,color .12s}.sort-button:hover{background:#ffffff0f;color:#ffffffa6}.sort-icon{color:#fff6;flex-shrink:0;height:16px;margin-right:4px;width:16px}.sort-count{color:#fff6;font-size:13px;letter-spacing:.01em}.sort-menu{background:#242424;border:1px solid #ffffff1f;border-radius:8px;box-shadow:0 4px 20px #00000080;min-width:160px;overflow:hidden;position:fixed;z-index:100}.sort-menu-item{background:none;border:none;color:#ffffffb3;cursor:pointer;display:block;font-family:inherit;font-size:14px;padding:12px 16px;text-align:left;transition:background .1s,color .1s;width:100%}.sort-menu-item:hover{background:#ffffff0f;color:#fff}.sort-menu-item--active{color:#ffb300}.sort-menu-item--active:hover{background:#ffb30014;color:#ffb300}.sort-label{border:1px solid #ffffff4d;border-radius:6px;display:inline-block;padding:2px 8px}.sort-button:hover .sort-label{border-color:#ffffff80}.sort-header-sep{color:#ffffff40;flex-shrink:0;font-size:14px}.sort-inst-button{align-items:center;background:none;border:1px solid #ffffff26;border-radius:6px;color:#ffffff80;cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;margin:0 4px;padding:2px 8px;transition:background .12s,color .12s,border-color .12s}.sort-inst-button:hover{background:#ffffff0f;border-color:#ffffff4d;color:#ffffffbf}.difficulty-row{align-items:center;background:#ffb3000a;border-bottom:1px solid #ffffff17;box-sizing:border-box;display:flex;gap:10px;padding:0 8px}.difficulty-row .detail-panel__diff-dots,.difficulty-row .detail-panel__diff-none{flex:none}.difficulty-row-label{background:#ffb30014;border:1px solid #ffb30040;border-radius:5px;color:#ffb300;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;padding:3px 8px;text-transform:uppercase}.page{background:#121212;display:flex;flex-direction:column;height:100%}.page--empty{align-items:center;color:#ffffff4d;font-size:18px;font-weight:500;justify-content:center}.page__placeholder{margin:0}.page--library{position:relative}.library-toolbar{align-items:center;border-bottom:1px solid #ffffff14;display:flex;flex-shrink:0}.library-toolbar .search-bar{flex:1 1}.library-filters-btn{align-items:center;background:#1c1c1c;border:none;border-left:1px solid #ffffff14;color:#ffffff73;cursor:pointer;display:flex;flex-shrink:0;height:var(--search-height);justify-content:center;padding:0;position:relative;transition:color .15s;width:var(--search-height)}.library-filters-dot{background:#ffb300;border-radius:50%;height:7px;position:absolute;right:8px;top:8px;width:7px}.library-filters-btn:hover{color:#fff}.library-filters-btn svg{height:20px;width:20px}.list-wrapper{flex:1 1;min-height:0}.list-wrapper ::-webkit-scrollbar{width:8px}.list-wrapper ::-webkit-scrollbar-track{background:#1c1c1c}.list-wrapper ::-webkit-scrollbar-thumb{background:#fff3;border:2px solid #1c1c1c;border-radius:3px}.list-wrapper ::-webkit-scrollbar-thumb:hover{background:#ffffff59}.list-wrapper *{scrollbar-color:#fff3 #1c1c1c;scrollbar-gutter:stable;scrollbar-width:thin}.queue-list::-webkit-scrollbar{width:8px}.queue-list::-webkit-scrollbar-track{background:#1c1c1c}.queue-list::-webkit-scrollbar-thumb{background:#fff3;border:2px solid #1c1c1c;border-radius:3px}.queue-list::-webkit-scrollbar-thumb:hover{background:#ffffff59}.queue-list{scrollbar-color:#fff3 #1c1c1c;scrollbar-gutter:stable;scrollbar-width:thin}.queue-page--gesturing,.queue-page--gesturing *{-webkit-user-select:none;user-select:none}.queue-drop-indicator{background:#ffb300;border-radius:1px;height:2px;left:0;pointer-events:none;position:absolute;right:0;z-index:20}.history-list::-webkit-scrollbar{width:8px}.history-list::-webkit-scrollbar-track{background:#1c1c1c}.history-list::-webkit-scrollbar-thumb{background:#fff3;border:2px solid #1c1c1c;border-radius:3px}.history-list::-webkit-scrollbar-thumb:hover{background:#ffffff59}.history-list{scrollbar-color:#fff3 #1c1c1c;scrollbar-gutter:stable;scrollbar-width:thin}.history-clear-header{align-items:center;border-bottom:1px solid #ffffff12;box-sizing:border-box;display:flex;padding:0 8px}.history-clear-button{align-items:center;background:none;border:none;border-radius:6px;color:#ff3c3cb3;cursor:pointer;display:flex;font-family:inherit;font-size:13px;gap:8px;letter-spacing:.01em;padding:6px 10px;transition:background .12s,color .12s}.history-clear-button:hover{background:#ff3c3c1f;color:#ff4040}.history-clear-icon{color:inherit;flex-shrink:0}.copy-btn{background:#ffffff1f;border:none;border-radius:6px;color:#ffffffb3;cursor:pointer;flex-shrink:0;font-size:12px;font-weight:500;padding:4px 14px;transition:background .2s,color .2s}.copy-btn:hover{background:#fff3}.copy-btn:active{transform:scale(.97)}.copy-btn--md{border-radius:8px;font-size:14px;padding:10px 16px}.copy-btn.copy-btn--success{background:#ffb300;color:#121212}.copy-btn.copy-btn--success:hover{background:#ffb300}.copy-btn:disabled{cursor:default;opacity:.35}.page--party{align-items:center;gap:24px;overflow-y:auto;padding:48px 24px 36px;scrollbar-color:#fff3 #1c1c1c;scrollbar-gutter:stable;scrollbar-width:thin}.page--party::-webkit-scrollbar{width:8px}.page--party::-webkit-scrollbar-track{background:#1c1c1c}.page--party::-webkit-scrollbar-thumb{background:#fff3;border:2px solid #1c1c1c;border-radius:3px}.page--party::-webkit-scrollbar-thumb:hover{background:#ffffff59}.party-qr{background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000080;padding:16px}.party-qr canvas{display:block;height:min(60vw,280px);width:min(60vw,280px)}.party-start{align-items:center;display:flex;flex-direction:column;gap:16px}.party-start__button{background:#ffb300;border:none;border-radius:12px;color:#121212;cursor:pointer;font-size:17px;font-weight:600;padding:14px 32px;transition:background .15s,transform .1s}.party-start__button:hover{background:#ffc107}.party-start__button:active{transform:scale(.97)}.party-dialog{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:300}.party-dialog__box{background:#1e1e1e;border-radius:12px;box-shadow:0 8px 32px #0009;display:flex;flex-direction:column;gap:20px;max-width:320px;padding:24px;width:100%}.party-dialog__title{color:#fff;font-size:16px;font-weight:500;text-align:center}.party-dialog__buttons{display:flex;gap:8px}.party-dialog__button{background:#ffffff1a;border:none;border-radius:8px;color:#fffc;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:12px 8px;transition:background .15s}.party-dialog__button:hover{background:#ffffff2e}.party-dialog__button--yes{background:#ffb300;color:#121212}.party-dialog__button--yes:hover{background:#ffc107}.party-dialog__button--no{background:#ffffff1a;color:#fffc}.party-header{align-self:flex-start;margin-bottom:8px}.party-header__self{color:#fff;font-size:28px;font-weight:700;line-height:1.2;margin:0}.party-header__party{color:#fff6;font-size:18px;font-weight:400;line-height:1.3;margin:0}.party-peers{width:min(60vw,280px)}.party-peers__header{color:#fff6;font-size:11px;font-weight:500;letter-spacing:1px;margin-bottom:8px;text-align:center;text-transform:uppercase}.party-peers__list{background:#ffffff0a;border-radius:8px;list-style:none;margin:0;padding:0}.party-peers__peer{border-bottom:1px solid #ffffff0f;color:#ffffffb3;font-family:monospace;font-size:12px;overflow:hidden;padding:8px 12px;text-overflow:ellipsis;white-space:nowrap}.party-peers__peer:last-child{border-bottom:none}.party-peers__peer--inactive{color:#ffffff2e}.party-connecting{align-items:center;background:#ffffff0f;border-radius:12px;display:flex;height:min(60vw,280px);justify-content:center;width:min(60vw,280px)}.party-connecting span{color:#ffffff4d;font-size:14px;font-weight:500}.party-url{align-items:center;background:#ffffff0f;border-radius:8px;display:flex;gap:8px;margin-top:8px;padding:8px 12px;width:min(60vw,280px)}.party-url__text{color:#ffffff80;flex:1 1;font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.party-leave{background:#d32f2f26;border:none;border-radius:10px;color:#d32f2f;cursor:pointer;font-size:15px;font-weight:500;padding:12px 28px;transition:background .15s}.party-leave:hover{background:#d32f2f40}.party-error{align-items:center;display:flex;flex-direction:column;gap:20px}.party-error p{color:#d32f2f;font-size:16px;font-weight:500;margin:0;text-align:center}.party-error__buttons{display:flex;gap:8px}.party-error__retry{background:#ffb300;border:none;border-radius:8px;color:#121212;cursor:pointer;font-size:14px;font-weight:600;padding:10px 28px;transition:background .15s}.party-error__retry:hover{background:#ffc107}.party-error__dismiss{background:#ffffff1a;border:none;border-radius:8px;color:#ffffffb3;cursor:pointer;font-size:14px;font-weight:500;padding:10px 28px;transition:background .15s}.party-error__dismiss:hover{background:#ffffff2e}.page--settings{gap:16px;padding:24px}.settings__title{color:#fff;font-size:18px;font-weight:600;margin:0 0 12px}.settings__row{align-items:stretch;display:flex;gap:8px}.settings__input{background:#ffffff0f;border:1px solid #ffffff26;border-radius:8px;color:#fff;flex:1 1;font-size:15px;outline:none;padding:10px 12px;transition:border-color .15s}.settings__input::placeholder{color:#ffffff4d}.settings__input:focus{border-color:#ffffff59}.settings__input--invalid{background:#d32f2f14;border-color:#d32f2f}.settings__input--invalid:focus{border-color:#d32f2f}.settings__btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:background .15s,opacity .15s}.settings__btn:disabled{cursor:default;opacity:.35}.settings__btn--save{background:#ffffff1a;color:#fffc;width:100%}.settings__btn--save:hover:not(:disabled){background:#ffffff2e}:root{--search-height:52px;--landscape-panel-width:clamp(280px,40vw,420px);--nav-portrait-height:64px;--nav-landscape-width:72px}.App{animation:fade-in .4s ease;background:#121212;display:flex;flex-direction:column;height:100vh;overflow:hidden;transition:padding-right .35s cubic-bezier(.4,0,.2,1)}@media (orientation:portrait){.App{height:calc(100vh - 64px);height:calc(100vh - var(--nav-portrait-height))}}@media (orientation:landscape){.App{padding-left:72px;padding-left:var(--nav-landscape-width)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (orientation:landscape){.App--panel-open{padding-right:clamp(280px,40vw,420px);padding-right:var(--landscape-panel-width)}.App--panel-open .page{border-right:1px solid #ffffff1a}}.App--loading{align-items:center;animation:none;justify-content:center}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #ffffff1a;border-radius:50%;border-top-color:#ffb300;height:36px;width:36px}@keyframes spin{to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.f311b3ac.css.map*/