.create-room-modal{gap:.85rem;width:min(560px,94vw);max-height:90vh;overflow-y:auto}.create-room-modal__title{text-align:center;font-size:1.45rem}.create-room-modal__switch-row{justify-content:space-between;align-items:center;font-size:.9rem;display:flex}.create-room-modal__examples{color:var(--color-accent);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-family:inherit;font-size:.82rem}.create-room-modal__examples:hover{text-decoration:underline}.create-room-modal__songs{flex-direction:column;gap:.55rem;display:flex}.create-room-modal__advanced-toggle{color:var(--color-accent);cursor:pointer;background:0 0;border:none;align-self:center;padding:.25rem;font-family:inherit;font-size:.85rem;font-weight:600}.create-room-modal__advanced-toggle:hover{text-decoration:underline}.create-room-modal__advanced{gap:1.1rem}.create-room-modal__field{flex-direction:column;gap:.5rem;display:flex}.create-room-modal__pair-grid{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}.create-room-modal__sticker-field{flex-direction:column;gap:.4rem;display:flex}.create-room-modal__sticker-label{color:var(--color-text-muted);font-size:.78rem}.create-room-modal__sticker-entry{align-items:center;gap:.45rem;display:flex}.create-room-modal__sticker-entry .form-input{flex:1}.create-room-modal__sticker-list{flex-wrap:wrap;gap:.4rem;display:flex}.create-room-modal__sticker-chip{border:1px solid var(--color-accent);color:var(--color-text);cursor:pointer;background:#3b82f61f;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.76rem;display:inline-flex}.create-room-modal__sticker-chip:hover{background:#3b82f633}.create-room-modal__check-row{color:var(--color-text-muted);align-items:center;gap:.45rem;font-size:.82rem;display:inline-flex}@media (width<=720px){.create-room-modal__pair-grid{grid-template-columns:1fr}}.create-room-modal__slider-row{align-items:center;gap:.7rem;display:flex}.create-room-modal__slider-track{flex:1;width:100%;min-width:0}.create-room-modal__slider-hint{color:var(--color-text-muted);white-space:nowrap;font-size:.8rem}.create-room-modal__slider-caption{text-align:center;color:var(--color-text-muted);font-size:.78rem;font-style:italic}.create-room-modal__cancel{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;align-self:center;padding:.15rem;font-family:inherit;font-size:.85rem}.create-room-modal__cancel:hover{color:var(--color-text)}.room-entry{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100vh;padding:3rem 1.5rem;display:flex}.auth-corner-btn{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;z-index:60;border-radius:999px;width:44px;height:44px;font-size:1.1rem;position:fixed;top:1rem;right:1rem}.auth-modal{width:min(520px,92vw)}.auth-modal__provider-row{gap:.45rem;display:flex}.auth-modal__signed{flex-direction:column;gap:.6rem;display:flex}.auth-modal__error{color:var(--color-danger);font-size:.82rem}.auth-modal__google{flex-direction:column;align-items:center;gap:.5rem;display:flex}.auth-modal__google-btn{justify-content:center;min-height:44px;display:flex}.auth-modal__hint{color:var(--color-text-muted);text-align:center;font-size:.75rem}.auth-modal__hint code{color:var(--color-accent);font-family:monospace}.room-entry__title{letter-spacing:-.02em;text-align:center;font-size:3rem;font-weight:700}.room-entry__subtitle{color:var(--color-text-muted);text-align:center;max-width:42rem;margin-bottom:1.5rem;font-size:1rem}.room-entry__buttons{flex-wrap:wrap;justify-content:center;gap:.9rem;display:flex}@media (width<=640px){.room-entry{padding:1.2rem .8rem}.room-entry__title{font-size:2rem}.room-entry__subtitle{margin-bottom:.8rem;font-size:.9rem}.room-entry__buttons{width:100%}.room-entry__buttons .btn{width:100%;min-height:48px}.room-preview{border-radius:12px;width:100%;min-height:80vh}}.room-entry__features{flex-direction:column;align-items:center;gap:1.6rem;margin-top:4rem;display:flex}.room-entry__features-title{font-size:1.5rem;font-weight:700}.room-entry__feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;max-width:56rem;display:grid}@media (width<=760px){.room-entry__feature-grid{grid-template-columns:1fr}}.feature-card{border:1px solid var(--color-border);text-align:center;background:#0a1120bf;border-radius:14px;flex-direction:column;align-items:center;gap:.6rem;padding:1.5rem 1.2rem;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex}.feature-card:hover{border-color:var(--color-accent);transform:translateY(-3px);box-shadow:0 8px 30px #22d3ee1f}.feature-card__icon{width:52px;height:52px;color:var(--color-accent);background:#22d3ee1a;border:1px solid #22d3ee59;border-radius:50%;justify-content:center;align-items:center;font-size:1.4rem;display:flex;box-shadow:0 0 18px #22d3ee33}.feature-card h3{font-size:1rem;font-weight:600}.feature-card p{color:var(--color-text-muted);font-size:.82rem;line-height:1.55}.room-preview{border:1px solid var(--color-border);background:#0a1120e0;border-radius:16px;flex-direction:column;width:min(920px,94vw);min-height:72vh;display:flex;overflow:hidden}.room-preview__header{border-bottom:1px solid var(--color-border);padding:1rem 1.2rem}.room-preview__header h2{font-size:1.2rem}.room-preview__header p{color:var(--color-text-muted);margin-top:.2rem;font-size:.9rem}.room-preview__list{flex-direction:column;flex:1;gap:.5rem;padding:.6rem .8rem;display:flex;overflow-y:auto}.room-preview__empty{color:var(--color-text-muted);text-align:center;padding:2rem 1rem}.room-preview__row{background:var(--color-surface-raised);border:1px solid var(--color-border-subtle);border-radius:10px;align-items:center;gap:.7rem;padding:.6rem .9rem;transition:border-color .15s;display:flex}.room-preview__row:hover{border-color:var(--color-border-bright)}.room-preview__idx{color:var(--color-text-muted);font-variant-numeric:tabular-nums;min-width:2rem;font-size:.85rem}.room-preview__info{flex-direction:column;flex:1;min-width:0;display:flex}.room-preview__title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.room-preview__artist{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.room-preview__actions{border-top:1px solid var(--color-border);justify-content:flex-end;gap:.6rem;padding:.9rem 1.1rem;display:flex}.join-modal{width:400px}.join-modal form{flex-direction:column;gap:.85rem;display:flex}.join-modal__error{color:var(--color-danger);font-size:.85rem}.join-modal__scan{flex-direction:column;gap:.55rem;display:flex}.join-modal__scan-error{color:var(--color-text-muted);font-size:.8rem}.join-modal__video{border:1px solid var(--color-border);background:#000;border-radius:10px;width:100%;max-height:220px;display:none}.join-modal__video--active{display:block}.room-progress-modal{width:min(520px,92vw)}.room-progress-modal__stage{color:var(--color-text-muted);font-size:.95rem}.room-progress-modal__bar{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:999px;width:100%;height:10px;overflow:hidden}.room-progress-modal__fill{background:var(--gradient-accent);height:100%;transition:width .28s}.room-progress-modal__pct{text-align:right;font-variant-numeric:tabular-nums;color:var(--color-text-muted);font-size:.85rem}.room-progress-modal__error{color:var(--color-danger);flex-direction:column;gap:.75rem;margin-top:.5rem;display:flex}.deck{flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;display:flex}.deck__label{letter-spacing:.05em;color:var(--color-text);font-size:1.3rem;font-weight:600}.deck__play-btn{border:2px solid var(--color-border-bright);letter-spacing:.08em;cursor:pointer;color:#000;border-radius:50%;width:72px;height:72px;font-size:.85rem;font-weight:700;transition:all .2s}.deck__play-btn--disabled{background:var(--color-surface-raised);color:var(--color-text-muted);cursor:not-allowed;border-color:var(--color-border)}.deck__play-btn--paused{background:var(--color-green);border-color:var(--color-green)}.deck__play-btn--paused:hover{background:#34d47e;transform:scale(1.05)}.deck__play-btn--playing{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.deck__play-btn--playing:hover{background:#ef4444;transform:scale(1.05)}.deck__load-btn{background:var(--color-yellow);color:#000;letter-spacing:.05em;cursor:pointer;border:none;border-radius:6px;padding:.4rem 1.6rem;font-size:.8rem;font-weight:600;transition:background .2s}.deck__load-btn:hover{background:#facc15}.deck__track-info{flex-direction:column;align-items:center;gap:.2rem;min-height:3rem;display:flex}.deck__track-title{color:var(--color-text-muted);font-size:.9rem}.deck__bpm{color:var(--color-text-muted);font-size:.8rem}.deck__tempo{color:var(--color-accent);font-size:.75rem}.deck__no-track{color:var(--color-text-muted);font-size:.85rem;font-style:italic}.crossfader{align-items:center;gap:.75rem;width:100%;max-width:400px;margin:0 auto;padding:1rem 2rem;display:flex}.crossfader__label{color:var(--color-text-muted);-webkit-user-select:none;user-select:none;font-size:.9rem;font-weight:600}.crossfader__track{background:var(--color-surface-raised);cursor:pointer;touch-action:none;border-radius:4px;flex:1;height:8px;position:relative}.crossfader__fill{pointer-events:none;background:linear-gradient(90deg,#6366f1,#a78bfa);border-radius:4px;height:100%;position:absolute;top:0;left:0}.crossfader__handle{border:2px solid var(--color-border-bright);pointer-events:none;background:#fff;border-radius:4px;width:22px;height:22px;transition:box-shadow .15s;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 2px 6px #0000004d}.crossfader__track:active .crossfader__handle{box-shadow:0 2px 10px #6366f180}.sync-btn{letter-spacing:.1em;cursor:pointer;border:2px solid #0000;border-radius:6px;padding:.5rem 2rem;font-size:.85rem;font-weight:700;transition:all .2s}.sync-btn--active{background:var(--color-green);color:#000;border-color:var(--color-green)}.sync-btn--active:hover{background:#34d47e;transform:scale(1.05)}.sync-btn--disabled{background:var(--color-surface-raised);color:var(--color-text-muted);border-color:var(--color-border);cursor:not-allowed}.song-search-modal{width:min(760px,94vw);max-height:86vh}.song-search-modal__search{flex-direction:column;gap:.6rem;display:flex}.song-search-modal__mode{gap:.45rem;display:flex}.song-search-modal__query{grid-template-columns:1fr auto;gap:.5rem;display:grid}.song-search-modal__error{color:var(--color-danger);font-size:.85rem}.song-search-modal__results{flex-direction:column;gap:.5rem;max-height:48vh;display:flex;overflow-y:auto}.song-search-modal__item{border:1px solid var(--color-border-subtle);border-radius:10px;justify-content:space-between;align-items:center;gap:.8rem;padding:.55rem .65rem;display:flex}.song-search-modal__item-main{min-width:0}.song-search-modal__title{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.song-search-modal__meta{color:var(--color-text-muted);font-size:.78rem}.playlist-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;height:100%;display:flex;overflow:hidden}.playlist-panel__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.playlist-panel__header h3{font-size:1rem;font-weight:600}.playlist-panel__count{color:var(--color-text-muted);font-size:.8rem}.playlist-panel__actions{border-bottom:1px solid var(--color-border);gap:.4rem;padding:.5rem 1rem;display:flex}.playlist-panel__url-row{border-bottom:1px solid var(--color-border);gap:.4rem;padding:.4rem 1rem;display:flex}.playlist-panel__url-row .form-input{flex:1}.playlist-panel__add-song-types{gap:.35rem;display:flex}.playlist-panel__request-type{border-bottom:1px solid var(--color-border);color:var(--color-text-muted);justify-content:space-between;align-items:center;padding:.45rem 1rem;font-size:.78rem;display:flex}.playlist-requests{border-bottom:1px solid var(--color-border)}.playlist-requests__header{color:var(--color-text-muted);justify-content:space-between;align-items:center;padding:.45rem 1rem;font-size:.8rem;display:flex}.playlist-requests__header h4{color:var(--color-text);font-size:.85rem}.playlist-requests__header-right{align-items:center;gap:.5rem;display:flex}.playlist-requests__body{flex-direction:column;gap:.35rem;max-height:180px;padding:.25rem .6rem .5rem;display:flex;overflow-y:auto}.playlist-requests__empty{color:var(--color-text-muted);padding:.25rem .45rem;font-size:.8rem}.playlist-requests__item{border:1px solid var(--color-border-subtle);border-radius:8px;padding:.4rem .55rem}.playlist-requests__title-row{justify-content:space-between;gap:.5rem;font-size:.82rem;display:flex}.playlist-requests__status{border:1px solid var(--color-border);border-radius:999px;padding:.12rem .35rem;font-size:.68rem}.playlist-requests__status--pending{background:var(--color-surface-raised)}.playlist-requests__status--approved{background:#10b98133}.playlist-requests__status--rejected{background:#ef444433}.playlist-requests__meta{color:var(--color-text-muted);margin-top:.15rem;font-size:.72rem}.playlist-requests__note{margin-top:.15rem;font-size:.78rem}.playlist-requests__actions{gap:.35rem;margin-top:.35rem;display:flex}.playlist-table__header{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);-webkit-user-select:none;user-select:none;padding:.4rem 1rem;font-size:.75rem;font-weight:600;display:flex}.playlist-table__col--sortable{cursor:pointer}.playlist-table__col--sortable:hover{color:var(--color-accent)}.playlist-table__body{flex:1;min-height:0;overflow-y:auto}.playlist-table__empty{text-align:center;color:var(--color-text-muted);padding:2rem 1rem;font-size:.85rem}.playlist-table__row{cursor:pointer;border-bottom:1px solid var(--color-border-subtle);padding:.45rem 1rem;font-size:.85rem;transition:background .15s;display:flex}.playlist-table__row:hover{background:var(--color-surface-raised)}.playlist-table__row--selected{background:var(--color-accent-subtle)!important}.playlist-table__row--playing{color:#a78bfa;background:#6366f126!important}.playlist-table__col{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.playlist-table__col--track{flex:1;align-items:center;gap:.4rem;min-width:0;display:flex}.playlist-table__col--bpm{text-align:center;width:60px}.playlist-table__col--genre{text-align:center;width:80px}.playlist-table__col--stat{text-align:center;width:55px}.playlist-table__num{color:var(--color-text-muted);font-variant-numeric:tabular-nums;margin-right:.4rem}.playlist-table__artist{color:var(--color-text-muted)}.playlist-table__badge{background:var(--color-accent);color:#fff;vertical-align:middle;border-radius:4px;margin-left:.4rem;padding:.1rem .4rem;font-size:.65rem;display:inline-block}.playlist-panel__bottom{border-top:1px solid var(--color-border);flex-direction:column;gap:.4rem;padding:.5rem 1rem;display:flex}.playlist-panel__deck-btns{gap:.4rem;display:flex}.playlist-panel__deck-btns .btn{flex:1}.playlist-panel__manage-btns{gap:.4rem;display:flex}.guest-request-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;flex-direction:column;gap:.65rem;width:min(720px,94vw);padding:1rem;display:flex}.guest-request-panel__sub{color:var(--color-text-muted);font-size:.9rem}.guest-request-panel__form{flex-direction:column;gap:.5rem;display:flex}.guest-request-panel__type{gap:.45rem;display:flex}.guest-request-panel__note{resize:vertical;min-height:72px}.guest-request-panel__error{color:var(--color-danger);font-size:.85rem}.guest-request-panel__success{color:var(--color-success);font-size:.85rem}.guest-request-panel__list{border-top:1px solid var(--color-border-subtle);flex-direction:column;gap:.5rem;margin-top:.5rem;padding-top:.6rem;display:flex}.guest-request-panel__empty{color:var(--color-text-muted);font-size:.9rem}.guest-request-panel__item{border:1px solid var(--color-border-subtle);border-radius:10px;padding:.55rem .65rem}.guest-request-panel__row{justify-content:space-between;gap:.6rem;font-size:.9rem;display:flex}.guest-request-panel__badges{gap:.4rem;margin-top:.3rem;display:flex}.guest-request-panel__badge{border:1px solid var(--color-border);text-transform:lowercase;border-radius:999px;padding:.14rem .45rem;font-size:.72rem}.guest-request-panel__badge--pending{background:var(--color-surface-raised)}.guest-request-panel__badge--approved{background:#10b98133}.guest-request-panel__badge--rejected{background:#ef444433}.guest-request-panel__badge--type{background:#6366f133}.guest-request-panel__meta{color:var(--color-text-muted);font-size:.78rem}.guest-request-panel__note-text{margin-top:.2rem;font-size:.86rem}.guest-now-playing{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;flex-direction:column;gap:.65rem;width:min(720px,94vw);padding:1rem;display:flex}.guest-now-playing__empty{color:var(--color-text-muted);font-size:.9rem}.guest-now-playing__card{border:1px solid var(--color-border-subtle);background:var(--color-surface-raised);border-radius:10px;padding:.65rem .75rem}.guest-now-playing__body{align-items:center;gap:.7rem;margin-top:.5rem;display:flex}.guest-now-playing__art{border-radius:10px;width:56px;height:56px;font-size:1.3rem}.guest-now-playing__header{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.guest-now-playing__status{border:1px solid var(--color-border);border-radius:999px;padding:.14rem .45rem;font-size:.72rem}.guest-now-playing__status--playing{background:#10b98133}.guest-now-playing__status--paused{background:#f59e0b33}.guest-now-playing__status--loaded{background:var(--color-surface)}.guest-now-playing__deck{color:var(--color-text-muted);font-size:.78rem}.guest-now-playing__title{margin-top:.45rem;font-weight:600}.guest-now-playing__meta{color:var(--color-text-muted);margin-top:.2rem;font-size:.82rem}.transition-hint{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;flex-direction:column;gap:.5rem;min-width:220px;padding:.75rem 1rem;transition:border-color .2s,box-shadow .2s;display:flex}.transition-hint--active{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent-subtle), 0 0 18px #22d3ee2e}.transition-hint__row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.transition-hint__label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);font-size:.8rem}.transition-hint__countdown{align-items:baseline;gap:.4rem;display:flex}.transition-hint__bars{background:var(--gradient-accent);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700;line-height:1}.transition-hint__unit{color:var(--color-text-muted);font-size:.85rem}.transition-hint__secs{font-variant-numeric:tabular-nums;color:var(--color-text-muted);margin-left:auto;font-size:.85rem}.transition-hint__bar{background:var(--color-border-subtle);border-radius:999px;height:6px;overflow:hidden}.transition-hint__fill{background:var(--gradient-accent);height:100%;transition:width .4s linear}.transition-hint__caption,.transition-hint__idle{color:var(--color-text-muted);margin:0;font-size:.75rem}.dj-controller{height:100vh;display:flex;overflow:hidden}.dj-controller--loading{justify-content:center;align-items:center}.dj-loading-msg{color:var(--color-text-muted);font-size:1rem}.dj-surface{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;min-width:0;padding:2rem;display:flex}.dj-surface__title{letter-spacing:-.01em;background:linear-gradient(135deg,#a78bfa,#6366f1);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:700}.dj-surface__decks{flex-direction:column;align-items:center;gap:.5rem;display:flex}.dj-surface__guest-view{flex-direction:column;align-items:center;gap:.75rem;display:flex}.dj-surface__qr-btn{margin-top:-.25rem}.dj-room-qr{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;flex-direction:column;align-items:center;gap:.4rem;padding:.6rem .8rem;display:flex}.dj-room-qr img{border:1px solid var(--color-border);background:#fff;border-radius:10px;width:180px;height:180px;padding:.4rem}.dj-sidebar{border-left:1px solid var(--color-border);flex-direction:column;width:420px;min-width:320px;max-width:480px;display:flex}.dj-sidebar .playlist-panel{border:none;border-radius:0;flex:1}@media (width<=860px){.dj-controller{flex-direction:column;height:auto;min-height:100vh}.dj-sidebar{border-left:none;border-top:1px solid var(--color-border);width:100%;max-width:none;height:50vh}.dj-surface{gap:.8rem;padding:1rem .8rem}.dj-surface__title{text-align:center;font-size:1.2rem;line-height:1.3}.dj-room-qr img{width:140px;height:140px}}:root{--color-bg:#04070f;--color-bg-deep:#02040a;--color-surface:#0a1120;--color-surface-raised:#101a2e;--color-border:#1b2940;--color-border-subtle:#131f33;--color-border-bright:#2a3f5f;--color-text:#e6edf7;--color-text-muted:#74849e;--color-accent:#22d3ee;--color-accent-2:#2dd4bf;--color-accent-deep:#0ea5e9;--color-accent-subtle:#22d3ee1a;--color-purple:#a78bfa;--color-green:#22c55e;--color-danger:#ef4444;--color-yellow:#eab308;--gradient-accent:linear-gradient(90deg, var(--color-accent-deep), var(--color-accent-2));--gradient-title:linear-gradient(95deg, #38bdf8 10%, #a78bfa 90%);--font-sans:"Inter", "Segoe UI", system-ui, -apple-system, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);color:var(--color-text);background:radial-gradient(1.5px 1.5px at 12% 22%, #ffffff59 50%, transparent 51%), radial-gradient(1px 1px at 32% 68%, #ffffff40 50%, transparent 51%), radial-gradient(1.5px 1.5px at 55% 15%, #ffffff4d 50%, transparent 51%), radial-gradient(1px 1px at 71% 47%, #fff3 50%, transparent 51%), radial-gradient(1.5px 1.5px at 86% 75%, #ffffff47 50%, transparent 51%), radial-gradient(1px 1px at 44% 89%, #fff3 50%, transparent 51%), radial-gradient(1px 1px at 92% 12%, #ffffff40 50%, transparent 51%), radial-gradient(ellipse 70% 55% at 70% 8%, #4c1d9547, transparent), radial-gradient(ellipse 60% 50% at 15% 85%, #0e74902e, transparent), linear-gradient(180deg, #060b18 0%, var(--color-bg) 55%, var(--color-bg-deep) 100%);background-attachment:fixed;line-height:1.5}#root{min-height:100vh}h1,h2,h3,h4{line-height:1.2}.gradient-text{background:var(--gradient-title);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.section-label{color:var(--color-accent);align-items:center;gap:.45rem;font-size:.85rem;font-weight:600;display:flex}.section-label__icon{font-size:.9rem;line-height:1}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1.2rem;font-family:inherit;font-size:.9rem;font-weight:500;transition:all .15s;display:inline-flex}.btn--sm{padding:.35rem .8rem;font-size:.8rem}.btn--large{padding:.8rem 1.8rem;font-size:1.05rem}.btn--primary{background:var(--gradient-accent);color:#03131c;font-weight:600;box-shadow:0 0 18px #22d3ee40}.btn--primary:hover{filter:brightness(1.12);box-shadow:0 0 26px #22d3ee66}.btn--primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn--secondary{background:var(--color-surface-raised);color:var(--color-text);border:1px solid var(--color-border-bright)}.btn--secondary:hover{border-color:var(--color-accent);color:var(--color-accent)}.btn--ghost{color:var(--color-text-muted);background:0 0}.btn--ghost:hover{color:var(--color-text);background:var(--color-surface-raised)}.btn--green{background:var(--color-green);color:#04210f;font-weight:600}.btn--green:hover{background:#34d47e}.btn--accent{background:var(--gradient-accent);color:#03131c;font-weight:600}.btn--accent:hover{filter:brightness(1.12)}.btn--yellow{background:var(--color-yellow);color:#000}.btn--yellow:hover{background:#facc15}.btn--yellow:disabled{opacity:.4;cursor:not-allowed}.btn--danger{background:var(--color-danger);color:#fff}.btn--danger:hover{background:#dc2626}.btn--danger-ghost{color:var(--color-danger);background:0 0}.btn--danger-ghost:hover{background:#ef44441a}.btn--danger-ghost:disabled{opacity:.4;cursor:not-allowed}.btn--cta{border-radius:10px;width:100%;padding:.75rem 1.2rem;font-size:.98rem}.form-label{color:var(--color-text);flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:500;display:flex}.form-label--inline{color:var(--color-text);font-size:.85rem;font-weight:500}.form-input{border:1px solid var(--color-border);color:var(--color-text);background:#060c18b3;border-radius:8px;outline:none;padding:.55rem .75rem;font-family:inherit;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 1px #22d3ee59}.form-input--sm{border-radius:6px;padding:.35rem .6rem;font-size:.8rem}.form-textarea{border:1px solid var(--color-border);color:var(--color-text);resize:vertical;background:#060c18b3;border-radius:10px;outline:none;padding:.6rem .8rem;font-family:inherit;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.form-textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 1px #22d3ee59}.form-select{border:1px solid var(--color-border);background:var(--color-surface-raised);color:var(--color-text);cursor:pointer;border-radius:8px;outline:none;padding:.55rem .75rem;font-family:inherit;font-size:.9rem}.form-select:focus{border-color:var(--color-accent)}.form-error{color:var(--color-danger);font-size:.85rem;font-weight:500}.switch{flex-shrink:0;width:42px;height:24px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.switch__track{background:var(--color-border);cursor:pointer;border-radius:999px;transition:background .2s;position:absolute;inset:0}.switch__track:before{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px}.switch input:checked+.switch__track{background:var(--gradient-accent)}.switch input:checked+.switch__track:before{transform:translate(18px)}.segment-row{gap:.5rem;display:flex}.segment{text-align:center;border:1px solid var(--color-border);background:var(--color-surface-raised);color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;flex:1;padding:.5rem .4rem;font-size:.85rem;transition:all .15s}.segment input{display:none}.segment:hover{border-color:var(--color-border-bright);color:var(--color-text)}.segment--active{border-color:var(--color-accent);color:var(--color-accent);background:#22d3ee1f;font-weight:600}input[type=range]{appearance:none;background:linear-gradient(90deg, var(--color-accent-deep), var(--color-accent-2));cursor:pointer;border-radius:999px;outline:none;width:100%;height:6px}input[type=range]::-webkit-slider-thumb{appearance:none;border:3px solid var(--color-accent);cursor:pointer;background:#fff;border-radius:50%;width:18px;height:18px;box-shadow:0 0 10px #22d3ee8c}input[type=range]::-moz-range-thumb{border:3px solid var(--color-accent);cursor:pointer;background:#fff;border-radius:50%;width:14px;height:14px;box-shadow:0 0 10px #22d3ee8c}.track-art{object-fit:cover;background:var(--color-surface-raised);border:1px solid var(--color-border-subtle);border-radius:8px;flex-shrink:0;width:38px;height:38px}.track-art--placeholder{color:var(--color-text-muted);justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.track-art--sm{border-radius:6px;width:28px;height:28px;font-size:.8rem}.panel-card{border:1px solid var(--color-border);background:#0a1120d9;border-radius:12px;flex-direction:column;gap:.6rem;padding:.9rem 1rem;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:100;background:#02040ab3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex;box-shadow:0 20px 60px #0009,0 0 50px #22d3ee0d}.modal h2{font-size:1.3rem;font-weight:600}.modal__actions{justify-content:flex-end;gap:.5rem;padding-top:.5rem;display:flex}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-border-bright)}.error-boundary{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100vh;padding:2rem;display:flex}.error-boundary__title{color:var(--color-danger);font-size:1.5rem;font-weight:600}.error-boundary__msg{color:var(--color-text-muted);word-break:break-word;max-width:36rem}
