@property --c1{syntax: "<color>"; inherits: true; initial-value: #6d28d9;}@property --c2{syntax: "<color>"; inherits: true; initial-value: #22d3ee;}@property --c3{syntax: "<color>"; inherits: true; initial-value: #db2777;}@property --accent{syntax: "<color>"; inherits: true; initial-value: #c4b5fd;}@property --bg{syntax: "<color>"; inherits: true; initial-value: #16101f;}*,*:before,*:after{box-sizing:border-box;border-radius:0!important}:root{--paper: #f2eee8;--smoke: rgba(242, 238, 232, .66);--ash: rgba(242, 238, 232, .4);--dust: rgba(242, 238, 232, .2);--rule: rgba(242, 238, 232, .13);--rule-strong: rgba(242, 238, 232, .26);--hover: rgba(242, 238, 232, .07);--light: var(--accent);--ink: var(--bg);--surface: color-mix(in srgb, var(--bg) 62%, #000);--light-soft: color-mix(in srgb, var(--accent) 18%, transparent);--light-glow: color-mix(in srgb, var(--accent) 45%, transparent);--serif: "Cormorant", "Cormorant Garamond", Georgia, serif;--sans: "Golos Text", system-ui, -apple-system, "Segoe UI", sans-serif;--ease: cubic-bezier(.22, 1, .36, 1);--pad: clamp(16px, 3.6vw, 56px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px);transition:--c1 1.4s var(--ease),--c2 1.4s var(--ease),--c3 1.4s var(--ease),--accent 1.2s var(--ease),--bg 1.4s var(--ease);color-scheme:dark}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--paper);font-family:var(--sans);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow:hidden;overscroll-behavior:none;-webkit-user-select:none;user-select:none}h1,h2,h3,p{margin:0}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.35}a{color:var(--light)}img{display:block}input,select{font:inherit;color:inherit}::selection{background:var(--light-glow)}:focus-visible{outline:2px solid var(--light);outline-offset:2px}.icon-btn{position:relative;display:inline-grid;place-items:center;width:40px;height:40px;color:var(--smoke);flex:none;transition:color .15s,background .15s}.icon-btn:hover:not(:disabled){color:var(--paper);background:var(--hover)}.icon-btn:active:not(:disabled){background:var(--rule)}.icon-btn.on{color:var(--light)}.icon-btn.sm{width:30px;height:30px}.icon-btn.spin svg,.spinning{animation:spin .9s linear infinite}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:46px;padding:0 20px;border:1px solid var(--rule-strong);font-size:14px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.btn:hover:not(:disabled){background:var(--hover);border-color:var(--smoke)}.btn.primary{background:var(--paper);color:var(--ink);border-color:var(--paper)}.btn.primary:hover:not(:disabled){background:var(--light);border-color:var(--light)}.btn.danger{color:#ffb4a8;border-color:#ffb4a84d}.btn.big{width:100%;height:54px;font-size:15px}.btn.full{width:100%;margin-top:14px}.tag{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 11px;border:1px solid var(--rule);font-size:12px;font-weight:500;color:var(--smoke);white-space:nowrap;transition:color .15s,border-color .15s,background .15s}.tag:hover{color:var(--paper);border-color:var(--rule-strong)}.tag.on{background:var(--paper);color:var(--ink);border-color:var(--paper)}.tag-count{padding:0 5px;background:var(--rule);color:var(--paper);font-size:11px;font-weight:700}.tags{display:flex;flex-wrap:wrap;gap:6px}.sq{display:inline-block;width:8px;height:8px;background:var(--ash);flex:none}.sq.live{background:var(--light);animation:blink 1.6s steps(1) infinite}.explicit{display:inline-grid;place-items:center;width:16px;height:16px;margin-right:7px;background:var(--ash);color:var(--ink);font-size:10px;font-weight:700;flex:none}.muted{color:var(--ash);font-size:13px}.pad{padding:8px 12px}.switch{position:relative;width:42px;height:22px;flex:none}.switch input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;margin:0;opacity:0;cursor:pointer}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid var(--rule-strong);transition:background .2s,border-color .2s}.switch span:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;background:var(--smoke);transition:transform .25s var(--ease),background .2s}.switch input:checked+span{border-color:var(--light);background:var(--light-soft)}.switch input:checked+span:after{transform:translate(20px);background:var(--light)}.switch input:focus-visible+span{outline:2px solid var(--light);outline-offset:2px}.loader{width:14px;height:14px;background:var(--light);animation:spin 1.2s var(--ease) infinite;flex:none}kbd{display:inline-block;min-width:26px;padding:2px 7px;border:1px solid var(--rule-strong);font:600 12px var(--sans);color:var(--smoke);text-align:center;white-space:nowrap}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:var(--rule)}::-webkit-scrollbar-track{background:transparent}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink{50%{opacity:.35}}@keyframes fade{0%{opacity:0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;display:block}.viz-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .6s var(--ease)}.viz-layer.on.full{opacity:1}.viz-layer.on.ambient{opacity:.28}.viz-canvas{width:100%;height:100%;display:block}.app{position:relative;height:100vh;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);padding-top:var(--safe-t)}.app.idle{cursor:none}.chrome{transition:opacity .5s var(--ease),transform .5s var(--ease)}.app.idle .chrome{opacity:0;pointer-events:none}.app.idle .topbar{transform:translateY(-8px)}.app.idle .transport{transform:translateY(8px)}.topbar{grid-row:1}.stage{grid-row:2}.transport{grid-row:3}.topbar{position:relative;z-index:10;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;height:68px;padding:0 calc(var(--pad) - 8px) 0 var(--pad)}.wordmark{display:flex;align-items:center;gap:10px;font:italic 600 30px/1 var(--serif);letter-spacing:-.01em}.neko{flex:none;padding:0;border:0;background:url(/oneko.gif) no-repeat;background-position:-96px -96px;image-rendering:pixelated;cursor:pointer}.neko.neko-guest{background:url(/overtonight-cat.png) center / 88% no-repeat!important;image-rendering:auto}.neko.hop{animation:neko-hop .35s var(--ease)}@keyframes neko-hop{40%{transform:translateY(-5px) rotate(-6deg)}}.wordmark-cat{margin:-4px -3px 0 -2px;filter:drop-shadow(0 0 10px var(--light-glow))}.wordmark.big{font-size:clamp(56px,8vw,84px);gap:14px}.wordmark.big .wordmark-cat{margin:0 -6px}.top-actions{display:flex;justify-content:flex-end;align-items:center}.avatar{width:32px;height:32px;margin-left:8px;overflow:hidden;display:grid;place-items:center;background:var(--light-soft);color:var(--light);font-weight:700;outline:1px solid var(--rule-strong)}.avatar img{width:100%;height:100%;object-fit:cover}.views{position:relative;display:flex;border:1px solid var(--rule)}.views-block{position:absolute;top:0;bottom:0;left:0;background:var(--paper);transition:transform .4s var(--ease),width .4s var(--ease)}.views-btn{position:relative;height:36px;padding:0 18px;font-size:14px;font-weight:500;color:var(--smoke);transition:color .3s}.views-btn:hover{color:var(--paper)}.views-btn.on{color:var(--ink)}.stage{position:relative;z-index:2;min-height:0;min-width:0;display:flex}.boot{margin:auto;width:14px;height:14px;background:var(--light);animation:spin 1.2s var(--ease) infinite}.player-view{flex:1;min-width:0;display:grid;padding:8px var(--pad) 20px;animation:fade .5s var(--ease)}.player-view.with-lyrics{grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,96px);align-items:center}.player-view.solo{place-items:center}.hero{display:flex;flex-direction:column;gap:26px;min-width:0;max-height:100%}.hero-art{width:min(100%,46vh,520px)}.hero-art-box{display:contents}@media (min-width: 761px) and (min-height: 541px){.hero:not(.hero-solo){height:100%;justify-content:center;container-type:inline-size}.hero:not(.hero-solo) .hero-art-box{display:flex;flex:1 1 0;min-height:160px;max-height:min(100cqw,820px);align-items:center;container-type:size}.hero:not(.hero-solo) .hero-art{flex:none;width:min(100cqw,100cqh)}.hero:not(.hero-solo) .hero-meta{flex:none}}.hero-solo{flex-direction:row;align-items:flex-end;gap:clamp(28px,4vw,64px);max-width:1500px}.hero-solo .hero-art{width:min(calc(100dvh - 240px),52vw,900px);flex:none}.hero-solo .hero-meta{padding-bottom:6px}.hero-solo .hero-title{font-size:clamp(40px,4.6vw,76px)}.hero-meta{display:flex;flex-direction:column;gap:6px;min-width:0;animation:fade .6s var(--ease)}.hero-title{font:600 clamp(30px,3.1vw,50px) / 1.1 var(--sans);letter-spacing:-.005em;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-wrap:balance;padding-bottom:.06em}.hero-artist{margin-top:6px;font-size:17px;font-weight:500;color:var(--paper)}.hero-album{display:flex;align-items:center;font-size:13px;color:var(--ash);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lyrics-retry,.lyrics-hint{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-top:14px;font-size:13px;color:var(--ash)}.lyrics-retry{height:32px;padding:0 12px;border:1px solid var(--rule);color:var(--smoke);transition:color .15s,border-color .15s}.lyrics-retry:hover:not(:disabled){color:var(--paper);border-color:var(--rule-strong)}.lyrics-retry.quiet{height:auto;margin-top:10px;padding:2px 0;gap:6px;border:0;font-size:12px;color:var(--dust);opacity:.7;transition:color .2s,opacity .2s}.lyrics-retry.quiet:hover:not(:disabled),.lyrics-retry.quiet:focus-visible{color:var(--smoke);opacity:1}.lyrics-retry.quiet svg{width:12px;height:12px}.hero-peek{display:none}.artwork{position:relative;aspect-ratio:1;flex:none}.artwork-inner{position:relative;width:100%;height:100%;overflow:hidden;background:var(--surface);box-shadow:0 40px 80px -30px #000000bf;transition:opacity .6s var(--ease),filter .6s var(--ease)}.artwork:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border:1px solid var(--rule);pointer-events:none;transition:border-color .6s}.artwork:not(.paused):after{border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.artwork.paused .artwork-inner{opacity:.6;filter:grayscale(.55)}.artwork-light{display:none}.artwork-inner img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.artwork-inner img.art-out{z-index:-1}.art-morph{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;visibility:hidden}.art-morph.on{visibility:visible}.artwork-placeholder{position:absolute;top:30%;right:30%;bottom:30%;left:30%;background:var(--rule)}.transport{position:relative;z-index:8;padding:0 var(--pad) calc(12px + var(--safe-b));background:linear-gradient(to top,color-mix(in srgb,var(--bg) 78%,transparent),transparent)}.transport-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;min-height:64px}.t-left{display:flex;align-items:center;gap:18px;min-width:0}.t-info{display:flex;align-items:center;gap:12px;min-width:0;text-align:left}.t-info img{width:44px;height:44px;object-fit:cover;flex:none}.t-text{display:flex;flex-direction:column;min-width:0}.t-text b,.t-text span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-text b{font-weight:600;font-size:14px}.t-text span{font-size:13px;color:var(--smoke)}.transport-player .t-info{display:none}.sp-link{color:inherit;text-decoration:none;text-underline-offset:.14em;text-decoration-thickness:from-font}@media (hover: hover){.sp-link:hover{text-decoration-line:underline}}.artwork-link{cursor:pointer}.t-art{flex:none}.hero-album-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.t-right{display:flex;justify-content:flex-end;align-items:center;gap:6px;min-width:0}.clock{display:flex;gap:6px;font-size:12px;font-weight:500;color:var(--smoke);font-variant-numeric:tabular-nums;white-space:nowrap}.clock-sep,.clock-total{color:var(--ash)}.progress{position:relative;height:20px;margin:0 calc(var(--pad) * -1);display:flex;align-items:center;cursor:pointer;touch-action:none}.progress.disabled{cursor:default}.progress-rail{position:relative;width:100%;height:2px;background:var(--dust);transition:height .2s var(--ease)}.progress:hover .progress-rail,.progress.dragging .progress-rail{height:6px}.progress-fill{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:left;transform:scaleX(var(--p, 0));background:var(--paper)}.progress-head-track{position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(calc(var(--p, 0) * 100%));pointer-events:none}.progress-head{position:absolute;top:50%;left:-2px;width:4px;height:14px;margin-top:-7px;background:var(--light);box-shadow:0 0 12px var(--light-glow)}.progress-tip{position:absolute;bottom:22px;transform:translate(-50%);padding:3px 7px;background:var(--paper);color:var(--ink);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;opacity:0;pointer-events:none;white-space:nowrap;transition:opacity .15s}.progress:hover .progress-tip,.progress.dragging .progress-tip{opacity:1}.controls{display:flex;align-items:center;gap:8px}.controls .icon-btn{width:44px;height:44px}.controls .toggle.on:after{content:"";position:absolute;bottom:5px;width:4px;height:4px;background:var(--light)}.badge-one{position:absolute;top:6px;right:6px;font-size:9px;font-weight:700;color:var(--light)}.play-btn{display:grid;place-items:center;width:56px;height:56px;margin:0 6px;background:var(--paper);color:var(--ink);transition:background .3s,box-shadow .3s,transform .1s}.play-btn.playing{background:var(--light);box-shadow:0 0 34px -6px var(--light-glow)}.play-btn:hover{background:#fff}.play-btn:active{transform:scale(.95)}.volume{display:flex;align-items:center;gap:2px;width:150px}.slider{position:relative;flex:1;height:24px;display:flex;align-items:center;cursor:pointer;touch-action:none}.slider.disabled{opacity:.35;cursor:default}.slider-rail{position:relative;width:100%;height:2px;background:var(--dust)}.slider-fill{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:left;transform:scaleX(var(--p));background:var(--smoke)}.slider:hover .slider-fill,.slider.dragging .slider-fill{background:var(--paper)}.slider-head{position:absolute;left:calc(var(--p) * 100%);width:3px;height:12px;margin-left:-1.5px;background:var(--paper)}.device-btn{display:flex;align-items:center;gap:8px;height:36px;max-width:190px;padding:0 10px;font-size:13px;color:var(--smoke);transition:color .15s,background .15s}.device-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-btn svg{color:var(--light);flex:none}.device-btn:hover,.device-btn.on{color:var(--paper);background:var(--hover)}.lyrics-view{flex:1;display:flex;justify-content:center;min-width:0;padding:0 var(--pad);animation:fade .5s var(--ease)}.visualizer-view{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:4px var(--pad) 10px;pointer-events:none}.visualizer-view>*{pointer-events:auto}.viz-bar{display:flex;gap:10px;align-items:center;max-width:100%;min-width:0}.viz-modes{display:flex;min-width:0;border:1px solid var(--rule);background:color-mix(in srgb,var(--bg) 50%,transparent);overflow-x:auto;scrollbar-width:none}.viz-modes::-webkit-scrollbar{display:none}.viz-mode{height:34px;padding:0 14px;font-size:13px;font-weight:500;color:var(--smoke);white-space:nowrap;transition:color .15s,background .15s}.viz-mode:hover{color:var(--paper)}.viz-mode.on{background:var(--paper);color:var(--ink)}.viz-source{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;border:1px solid var(--rule);background:color-mix(in srgb,var(--bg) 50%,transparent);font-size:13px;color:var(--smoke);white-space:nowrap}.ticker{position:relative;width:100%;overflow:hidden;text-align:center;font-family:var(--ly-font, var(--serif));font-weight:600;pointer-events:none!important}.ticker.clickable{pointer-events:auto!important;cursor:pointer}.tk-line{position:absolute;left:0;right:0;top:50%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px;transform:translateY(calc(-50% + var(--slot) * 1.12em)) scale(.6);opacity:.42;transition:transform .65s var(--ease),opacity .5s var(--ease),color .5s;color:var(--smoke)}.tk-line.now{transform:translateY(-50%);opacity:1;color:var(--paper);text-shadow:0 2px 24px rgba(0,0,0,.55)}.tk-line.out{opacity:0}.tk-gap{display:inline-flex;gap:.26em;vertical-align:middle}.tk-gap i{width:.22em;height:.22em;background:var(--light);animation:blink 1.6s steps(1) infinite}.tk-gap i:nth-child(2){animation-delay:.2s}.tk-gap i:nth-child(3){animation-delay:.4s}.viz-lyrics{--ly-px: calc(clamp(24px, 3vw, 42px) * var(--ly-scale, 1));position:relative;width:100%;height:calc(var(--ly-px) * 4.4)}.idle{flex:1;overflow-y:auto;padding:6vh var(--pad) 40px;animation:fade .6s var(--ease)}.idle-head{max-width:640px}.idle h1{font:italic 600 clamp(44px,6vw,88px) / 1 var(--serif)}.idle-head p{margin-top:16px;max-width:46ch;font-size:16px;color:var(--smoke)}.idle-actions{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0 56px}.idle-recent h2{margin-bottom:16px;font-size:15px;font-weight:600;color:var(--smoke)}.sleeves{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:28px 18px}.sleeve{display:flex;flex-direction:column;gap:2px;min-width:0;text-align:left}.sleeve img{width:100%;aspect-ratio:1;object-fit:cover;margin-bottom:10px;outline:1px solid transparent;outline-offset:5px;transition:outline-color .2s}.sleeve:hover img{outline-color:var(--light)}.sleeve-title,.tile-title{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sleeve-sub,.tile-sub{font-size:12px;color:var(--ash);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.login{position:relative;z-index:2;height:100%;overflow-y:auto;display:grid;place-items:center;padding:calc(24px + var(--safe-t)) var(--pad) calc(24px + var(--safe-b))}.login-sleeve{display:grid;grid-template-columns:minmax(0,420px) minmax(0,440px);gap:clamp(32px,5vw,72px);align-items:center;-webkit-user-select:text;user-select:text;animation:fade .8s var(--ease)}.login-cover{position:relative;aspect-ratio:1;background:linear-gradient(135deg,var(--c1),var(--c3) 60%,var(--c2));box-shadow:0 40px 90px -30px #000c}.login-cover:after{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;border:1px solid var(--rule-strong)}.login-cover i{position:absolute;left:50%;top:50%;width:26%;height:26%;translate:-50% -50%;background:var(--paper);box-shadow:0 0 60px var(--paper);mix-blend-mode:overlay}.login-sub{margin:14px 0 30px;max-width:34ch;font-size:17px;color:var(--smoke)}.login-error{margin-bottom:18px;padding:10px 14px;border-left:3px solid #ff9f8f;background:#ff9f8f1a;color:#ffd1c9;font-size:14px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.field span{font-size:13px;color:var(--smoke)}.field input{height:50px;padding:0 14px;border:1px solid var(--rule-strong);background:color-mix(in srgb,var(--bg) 60%,#000);outline:none;font-size:15px;letter-spacing:.02em;transition:border-color .15s}.field input:focus{border-color:var(--light)}.login-help{margin-top:22px;font-size:14px;color:var(--smoke)}.login-help summary{cursor:pointer;color:var(--paper);font-weight:500}.login-help ol{padding-left:20px;line-height:1.6}.login-help li{margin-bottom:8px}.copy{display:flex;align-items:center;gap:10px;margin-top:6px;padding:7px 10px;border:1px solid var(--rule)}.copy code{color:var(--light)}@media (max-width: 760px){.topbar{grid-template-columns:1fr auto;grid-template-areas:"brand actions" "views views";height:auto;row-gap:10px;padding:10px 8px 6px var(--pad)}.wordmark{grid-area:brand;font-size:26px}.top-actions{grid-area:actions}.views{grid-area:views;margin-right:calc(var(--pad) - 8px)}.views-btn{flex:1 1 0;padding:0 6px}.only-wide{display:none!important}.player-view,.player-view.with-lyrics{display:flex;flex-direction:column;justify-content:center;align-items:stretch;padding:4px var(--pad) 8px;overflow:hidden}.player-view.solo{align-items:stretch}.player-view.with-lyrics .lyrics{display:none}.hero,.hero-solo{flex:1 1 auto;min-height:0;flex-direction:column;align-items:stretch;justify-content:center;gap:22px}.hero-art-box{display:flex;flex:1 1 0;min-height:120px;max-height:calc(100vw - 2 * var(--pad));align-items:center;justify-content:center;container-type:size}.hero-art,.hero-solo .hero-art{flex:none;width:min(100cqw,100cqh)}.hero-title,.hero-solo .hero-title{font-size:clamp(28px,8vw,40px);-webkit-line-clamp:2}.hero-artist{margin-top:2px;font-size:16px}.hero-peek{display:block;flex:none;overflow:visible;margin-top:-6px;font-size:calc(21px * var(--ly-scale, 1));text-align:left}.hero-peek .tk-line{display:none}.hero-peek .tk-line.now{display:block;position:static;white-space:normal;overflow:visible;text-overflow:clip;padding:0;transform:none;line-height:1.25;animation:fade .5s var(--ease)}.transport{padding-top:2px}.transport-row{grid-template-columns:1fr auto;grid-template-areas:"clock clock" "controls controls" "info right";gap:4px 12px}.t-left{display:contents}.clock{grid-area:clock;justify-content:space-between}.clock-sep{display:none}.t-info{grid-area:info}.transport-player .t-right{grid-column:1 / -1;justify-content:space-between}.controls{grid-area:controls;justify-content:space-between;padding:2px 0 4px}.controls .icon-btn{width:48px;height:48px}.play-btn{width:64px;height:64px}.t-right{grid-area:right}.volume{display:none}.device-btn{max-width:60vw;padding-left:0}.lyrics-view{padding:0 var(--pad)}.visualizer-view{padding:0 0 6px}.viz-bar{width:100%;padding:0 var(--pad)}.viz-modes{flex:1;min-width:0}.viz-source{padding:0 10px}.viz-source span,.viz-source{font-size:12px}.viz-lyrics{--ly-px: calc(26px * var(--ly-scale, 1));padding:0 var(--pad)}.login-sleeve{grid-template-columns:1fr;gap:36px}.login-cover{width:min(58vw,260px)}.idle h1{font-size:48px}.sleeves{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}}@media (max-height: 540px) and (orientation: landscape){.topbar{height:50px;grid-template-columns:auto 1fr auto;grid-template-areas:none;padding:0 8px 0 var(--pad)}.wordmark{font-size:24px}.views{justify-self:center}.views-btn{height:30px;padding:0 12px;font-size:13px}.only-wide{display:none!important}.player-view,.player-view.with-lyrics{padding:0 var(--pad) 4px}.player-view.solo{grid-template-rows:minmax(0,1fr);place-items:stretch}.player-view.with-lyrics{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:28px}.hero,.hero-solo{flex-direction:row;align-items:center;gap:20px;width:100%;height:100%;min-height:0;container-type:size}.hero-art-box{display:contents}.hero-art,.hero-solo .hero-art{flex:none;width:min(100cqh - 12px,60cqw)}.hero-meta{flex:1 1 0}.hero-art:after{top:-6px;right:-6px;bottom:-6px;left:-6px}.hero-title,.hero-solo .hero-title{font-size:clamp(20px,3vw,30px);-webkit-line-clamp:3}.hero-artist{margin-top:0;font-size:14px}.hero-peek{display:none}.transport{padding-bottom:calc(4px + var(--safe-b))}.transport-row{min-height:52px;gap:12px}.controls .icon-btn{width:40px;height:40px}.play-btn{width:46px;height:46px}.t-info img{width:36px;height:36px}.volume{display:none}.visualizer-view{padding-bottom:0}.viz-lyrics{--ly-px: calc(21px * var(--ly-scale, 1));height:calc(var(--ly-px) * 3.6)}.idle{padding-top:12px}}@media (hover: none){.progress-tip{display:none}.progress .progress-rail{height:4px}}.hero-meta>*{animation:meta-in .7s var(--ease) both}.hero-meta>:nth-child(2){animation-delay:.06s}.hero-meta>:nth-child(3){animation-delay:.12s}.hero-meta>:nth-child(4){animation-delay:.18s}.t-info{animation:meta-in .6s var(--ease) both}@keyframes meta-in{0%{opacity:0;transform:translateY(12px)}}@property --art-r{syntax: "<percentage>"; inherits: false; initial-value: 150%;}.artwork-inner img.art-in{-webkit-mask-image:radial-gradient(circle,#000 calc(var(--art-r) - 35%),transparent var(--art-r));mask-image:radial-gradient(circle,#000 calc(var(--art-r) - 35%),transparent var(--art-r));animation:art-in .8s cubic-bezier(.45,0,.2,1) both}.artwork-inner img.art-blur{animation:art-out .8s cubic-bezier(.45,0,.2,1) both}@keyframes art-in{0%{--art-r: 0%;opacity:0;filter:blur(16px) saturate(1.4);transform:scale(1.1)}35%{opacity:1}}@keyframes art-out{to{filter:blur(16px) saturate(1.4);transform:scale(1.1)}}.hero-art{view-transition-name:hero-art}.hero-meta{view-transition-name:hero-meta}.lyrics-side{view-transition-name:lyrics}::view-transition-old(root),::view-transition-new(root){animation:none}::view-transition-group(hero-art),::view-transition-group(hero-meta){animation-duration:.75s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(hero-meta),::view-transition-new(hero-meta){animation-duration:.5s;height:100%}::view-transition-new(lyrics){animation:lyrics-in .8s cubic-bezier(.22,1,.36,1) .1s both}::view-transition-old(lyrics){animation:fade .3s reverse both}@keyframes lyrics-in{0%{opacity:0;transform:translate(40px)}}.ui-essential .full-only,.ui-essential .t-right,.ui-essential .controls .toggle,.ui-essential .ly-toolbar,.ui-essential .essential-hide,.ui-essential .t-info{display:none!important}.ui-essential .transport-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.ui-minimal .topbar,.ui-minimal .ly-toolbar,.ui-minimal .viz-bar,.ui-minimal .lyrics-retry,.ui-minimal .lyrics-hint{display:none!important}.ui-minimal .stage{padding-top:28px}.ui-minimal .transport{padding-bottom:calc(18px + var(--safe-b));background:none;pointer-events:none}.ui-minimal .transport-row{display:none}.ui-minimal .progress{height:3px}.ui-minimal .progress-rail{height:2px!important}.ui-minimal .progress-head,.ui-minimal .progress-tip{display:none}.restore-ui{position:fixed;top:calc(14px + var(--safe-t));right:14px;z-index:12;width:40px;height:40px;display:grid;place-items:center;color:var(--smoke);border:1px solid var(--rule);background:color-mix(in srgb,var(--bg) 50%,transparent);opacity:0;transition:opacity .3s,color .15s}.app:hover .restore-ui,.restore-ui:focus-visible{opacity:1}.restore-ui:hover{color:var(--paper)}.app.idle .restore-ui{opacity:0}@media (hover: none){.restore-ui{opacity:.6}}@media (max-width: 760px){.hero-meta{text-shadow:0 1px 16px rgba(0,0,0,.35)}.ui-minimal .stage{padding-top:12px}}.login-guest{margin-top:10px}.login-guest-note{margin-top:10px;font-size:13px;color:var(--ash)}.live-badge{display:flex;align-items:center;gap:10px;min-width:0;height:44px;padding:0 16px;border:1px solid var(--rule);font-size:13px;font-weight:600;color:var(--smoke);-webkit-user-select:none;user-select:none}.live-badge span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-badge.on{color:var(--paper)}.live-badge.on .sq{background:var(--light);animation:blink 1.6s steps(1) infinite}.guest .ly-line{cursor:default}@media (max-width: 760px){.live-badge{grid-area:controls;justify-self:center;max-width:100%;margin:6px 0 8px}.guest .transport-row{grid-template-areas:"clock clock" "controls controls" "info info"}}@media (max-height: 540px) and (orientation: landscape){.live-badge{height:38px}}.live-count,.viewers-chip{display:inline-flex;align-items:center;gap:5px;flex:none;font-weight:600;font-variant-numeric:tabular-nums}.live-count{padding-left:10px;border-left:1px solid var(--rule);color:var(--smoke)}.viewers-chip{height:40px;padding:0 10px;background:none;border:0;cursor:pointer;font-size:13px;color:var(--ash)}.viewers-chip.on{color:var(--light)}.viewers-chip.alert{color:#fff;background:#e5202e;animation:viewer-blink .5s steps(1) 16}.viewer-alert{position:fixed;z-index:60;top:calc(var(--safe-t) + 8px);right:calc(env(safe-area-inset-right,0px) + 8px);display:flex;align-items:center;gap:12px;max-width:calc(100vw - 16px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));padding:14px 20px 14px 16px;background:#e5202e;color:#fff;text-align:left;box-shadow:0 0 0 4px #e5202e59,0 0 60px 12px #e5202e8c;animation:viewer-in .25s var(--ease),viewer-blink .5s steps(1) 16}.viewer-alert span{display:flex;flex-direction:column;min-width:0}.viewer-alert b{font-size:18px;font-weight:700;line-height:1.2}.viewer-alert small{font-size:13px;opacity:.9}@keyframes viewer-blink{50%{background:#7a0710;box-shadow:0 0 0 4px #e5202e26,0 0 20px 2px #e5202e40}}@keyframes viewer-in{0%{opacity:0;transform:scale(.9)}}.push-note{margin-top:10px}@media (prefers-reduced-motion: reduce){.viewer-alert,.viewers-chip.alert{animation:none}}.online-modal{width:min(420px,100%)}.online-n{margin-left:12px;font:600 16px/1 var(--sans, inherit);font-style:normal;color:var(--smoke)}.online-list{list-style:none;margin:0;padding:0}.online-list li{display:flex;align-items:center;gap:10px;min-width:0;padding:12px 0;border-top:1px solid var(--rule)}.online-list li:first-child{border-top:0}.online-list b{flex:1;min-width:0;font-weight:600;overflow-wrap:anywhere}.online-list small{flex:none;color:var(--smoke)}.online-empty{margin:0;padding:12px 0;color:var(--smoke)}.limit-notice{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;view-transition-name:limit-notice;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(8px,2.5vh,24px);padding:calc(var(--safe-t) + 16px) 16px calc(var(--safe-b) + 16px);background:radial-gradient(ellipse at 50% 40%,color-mix(in srgb,var(--accent) 16%,var(--bg)),var(--bg) 70%);text-align:center;color:var(--smoke)}.limit-notice span{font-size:clamp(16px,3.2vw,34px);line-height:1.3}.limit-notice b{font-size:min(17vw,30vh);line-height:1;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--paper)}.limit-notice small{font-size:clamp(14px,2.4vw,26px);color:var(--ash)}.lyrics{--ly-size: clamp(28px, 2.7vw, 44px);position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;width:100%;animation:fade .6s var(--ease)}.lyrics-full{--ly-size: clamp(34px, 4.4vw, 70px)}.lyrics{--ly-px: calc(var(--ly-size) * var(--ly-scale, 1))}.ly-body{position:relative;flex:1;min-height:0}.ly-toolbar{position:absolute;top:0;right:0;z-index:3;display:flex;align-items:center;gap:6px;opacity:.4;transition:opacity .2s}.lyrics:hover .ly-toolbar,.ly-toolbar:focus-within{opacity:1}.ly-src-wrap{position:relative}.ly-offset{display:flex;align-items:center;height:30px;border:1px solid var(--rule)}.ly-offset .icon-btn.sm{width:28px;height:28px}.ly-offset-val{min-width:58px;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--smoke)}.menu{position:absolute;top:36px;right:0;z-index:5;min-width:min(280px,calc(100vw - 2 * var(--pad)));max-height:60dvh;overflow-y:auto;padding:4px;background:var(--surface);border:1px solid var(--rule-strong);box-shadow:0 24px 60px #00000080;animation:fade .15s var(--ease)}@media (max-width: 760px){.menu{left:0;right:auto}}.menu-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:9px 12px 9px 14px;text-align:left;text-decoration:none;color:var(--paper);font-size:14px;font-weight:600;border-left:3px solid transparent}.menu-item span{display:flex;align-items:center;gap:6px}.menu-item small{color:var(--ash);font-weight:400;font-size:12px}.menu-item:hover{background:var(--hover)}.menu-item.on{border-left-color:var(--light)}.ly-synced{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 70%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 70%,transparent 100%)}.ly-inner{font-size:var(--ly-px);transition:transform .8s var(--ease);will-change:transform}.ly-line{position:relative;margin:0 0 .42em;font-family:var(--ly-font, var(--serif));font-weight:600;font-size:1em;line-height:1.08;color:var(--ash);cursor:pointer;text-wrap:balance;overflow-wrap:anywhere;transition:color .45s var(--ease),opacity .45s var(--ease)}.ly-line.past{color:var(--dust)}.ly-line:hover{color:var(--smoke)}.ly-line.now{font-size:calc(1em * var(--now-scale, 1.15));color:var(--paper);text-shadow:0 0 30px color-mix(in srgb,var(--accent) 35%,transparent)}.ly-section{margin-top:.4em;font-family:var(--sans);font-size:.36em;font-weight:500;letter-spacing:.02em;color:var(--ash)!important;text-shadow:none!important}.ly-viz{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 24%,#000 76%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 24%,#000 76%,transparent 100%)}.ly-viz .ly-line{text-align:center;text-shadow:0 2px 24px rgba(0,0,0,.55)}.ly-viz .ly-line.ly-adlib{width:auto;margin-inline:auto;text-align:center}.ly-viz .ly-gap{justify-content:center}.ly-w{display:inline-block}.ly-w[data-sp]{margin-right:.24em}.ly-wordsync .ly-line.now{text-shadow:none}.ly-wordsync .ly-line.now .ly-c{display:inline-block;background:linear-gradient(90deg,var(--paper) calc(var(--lp, 0) * 100%),rgba(242,238,232,.36) calc(var(--lp, 0) * 100%));-webkit-background-clip:text;background-clip:text;color:transparent;position:relative;left:var(--lx, 0px);transform:scale(var(--ls, .9));transform-origin:0 78%}.ly-wordsync .ly-line.now .adlib-anchor{left:var(--lx, 0px)}.ly-wordsync .ly-line.now.ly-measure .ly-c{transform:none}@media (prefers-reduced-motion: reduce){.ly-wordsync .ly-line.now .ly-c,.ly-wordsync .ly-line.now .adlib-anchor{left:0;transform:none}}.ly-gap{--gp: 0;display:flex;gap:.22em;height:0;opacity:0;overflow:hidden;transition:height .5s var(--ease),opacity .4s,margin .5s var(--ease)}.ly-gap.now{height:.7em;margin-bottom:.42em;opacity:1;align-items:center}.ly-gap i{width:.22em;height:.22em;background:var(--paper);opacity:.2}.ly-gap i:nth-child(1){opacity:calc(.2 + .8*clamp(0,var(--gp) * 3,1))}.ly-gap i:nth-child(2){opacity:calc(.2 + .8*clamp(0,var(--gp) * 3 - 1,1))}.ly-gap i:nth-child(3){opacity:calc(.2 + .8*clamp(0,var(--gp) * 3 - 2,1))}.ly-tail{height:60vh}.ly-plain{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;padding:48px 0 0;-webkit-user-select:text;user-select:text;scrollbar-width:none;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 10%,#000 84%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 10%,#000 84%,transparent 100%)}.ly-plain::-webkit-scrollbar{display:none}.ly-plain p{margin:0 0 .3em;font-family:var(--ly-font, var(--serif));font-size:calc(var(--ly-px) * .74);font-weight:600;line-height:1.16;color:var(--paper)}.ly-plain .ly-section{margin-top:.8em;font-size:13px}.ly-stanza{height:calc(var(--ly-px) * .6)}@media (max-width: 760px){.lyrics,.lyrics-full{--ly-size: clamp(28px, 8.4vw, 38px)}.ly-toolbar{opacity:1;left:0;justify-content:flex-end}}@media (max-height: 540px) and (orientation: landscape){.lyrics,.lyrics-full{--ly-size: clamp(22px, 3.4vw, 32px)}.ly-toolbar{opacity:1}}@media (hover: none){.ly-toolbar{opacity:1}.ly-line:hover{color:var(--ash)}}.ly-line.ly-adlib{width:var(--adlib-w, auto);min-width:min(100%,max-content);max-width:100%;margin-top:-.3em;font-size:calc(.62em * var(--adlib-scale, 1));font-family:var(--adlib-font, var(--ly-font, var(--serif)));text-align:right;color:var(--dust)}.ly-line.ly-adlib.past{opacity:.7}.ly-line.ly-adlib.now{color:var(--smoke);text-shadow:none}.ly-line.ly-adlib:hover{color:var(--ash)}.ly-wordsync .ly-line.now.ly-adlib .ly-c{background:linear-gradient(90deg,var(--smoke) calc(var(--lp, 0) * 100%),rgba(242,238,232,.2) calc(var(--lp, 0) * 100%));-webkit-background-clip:text;background-clip:text}.ly-plain p.ly-adlib{width:var(--adlib-w, auto);min-width:min(100%,max-content);max-width:100%;margin-top:-.2em;font-size:calc(var(--ly-px) * .46 * var(--adlib-scale, 1));font-family:var(--adlib-font, var(--ly-font, var(--serif)));text-align:right;color:var(--ash)}.adlib-anchor{position:relative;display:inline-block;width:0;height:0;vertical-align:baseline}.adlib-note{position:absolute;top:.5em;white-space:nowrap;font-size:calc(max(.46em,13px) * var(--adlib-scale, 1));font-family:var(--adlib-font, var(--ly-font, var(--serif)));font-weight:500;line-height:1.1;opacity:.7;pointer-events:none}.adlib-anchor.sp{margin-right:.24em}.adlib-anchor.end .adlib-note{right:0}.adlib-anchor.start .adlib-note{left:0}.ly-line.has-note,.ly-plain p.has-note{padding-bottom:calc(.36em * var(--adlib-scale, 1))}.ly-w .adlib,.tk-line .adlib{font-size:calc(.68em * var(--adlib-scale, 1));font-family:var(--adlib-font, var(--ly-font, var(--serif)));opacity:.55}.tk-adlib .tk-text{font-size:calc(.72em * var(--adlib-scale, 1));font-family:var(--adlib-font, var(--ly-font, var(--serif)))}.tk-line.tk-adlib,.tk-line.tk-adlib.now{color:var(--ash)}.drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#00000073;opacity:0;pointer-events:none;transition:opacity .3s var(--ease)}.drawer-scrim.open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:21;width:min(440px,100%);display:flex;flex-direction:column;padding-top:var(--safe-t);padding-right:env(safe-area-inset-right,0px);background:var(--surface);border-left:1px solid var(--rule-strong);transform:translate(100%);visibility:hidden;transition:transform .45s var(--ease),visibility 0s .45s}.drawer.open{transform:none;visibility:visible;transition:transform .45s var(--ease)}.drawer-head{display:flex;align-items:center;gap:8px;padding:10px 8px 0 16px;border-bottom:1px solid var(--rule)}.tabs{flex:1;display:flex;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{display:flex;align-items:center;gap:7px;height:46px;padding:0 10px;font-size:13px;font-weight:500;color:var(--ash);white-space:nowrap;box-shadow:inset 0 -2px 0 transparent;transition:color .15s,box-shadow .2s}.tab:hover{color:var(--paper)}.tab.on{color:var(--paper);box-shadow:inset 0 -2px 0 var(--light)}.tab.on svg{color:var(--light)}.drawer-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding-bottom:var(--safe-b);animation:fade .25s var(--ease)}.tab-body{padding:6px 8px 28px}.section-title{margin:18px 10px 8px;font-size:13px;font-weight:600;color:var(--smoke)}.section-head{display:flex;align-items:center;justify-content:space-between;padding-right:4px}.row{position:relative;display:flex;align-items:center;border-left:3px solid transparent;transition:background .12s}.row:hover{background:var(--hover)}.row.active{border-left-color:var(--light);background:var(--light-soft)}.row-main{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:7px 10px 7px 8px;text-align:left}.row-main:disabled{opacity:1}.row-art{position:relative;width:44px;height:44px;overflow:hidden;flex:none;background:var(--rule)}.row-art img{width:100%;height:100%;object-fit:cover}.row-play,.row-art .eq{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0000008c}.row-play{opacity:0;transition:opacity .12s}.row:hover .row-play{opacity:1}.row-text{flex:1;min-width:0;display:flex;flex-direction:column}.row-title,.row-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-title{font-size:14px;font-weight:600}.row-sub{display:flex;align-items:center;font-size:13px;color:var(--ash)}.row-meta{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.ly-badge{min-width:44px;height:20px;padding:0 5px;text-align:center;border:1px solid var(--smoke);color:var(--paper);font-size:13px;font-weight:700;line-height:18px;letter-spacing:.03em;animation:fade .25s var(--ease)}.ly-badge:empty{visibility:hidden}.ly-badge.word{border-color:var(--light);background:var(--light-soft);color:var(--light)}.ly-badge.plain{border-color:var(--ash);color:var(--smoke)}.ly-badge.instrumental{border-color:var(--smoke);border-style:dashed;color:var(--paper)}.ly-badge.none{border-color:var(--rule-strong);color:var(--ash)}.row-dur{font-size:12px;color:var(--ash);font-variant-numeric:tabular-nums}.row-actions{display:flex;padding-right:4px;opacity:0;transition:opacity .12s}.row:hover .row-actions,.row:focus-within .row-actions{opacity:1}.eq{display:flex!important;align-items:flex-end;justify-content:center;gap:2px;padding-bottom:14px}.eq i{width:3px;height:14px;background:var(--light);transform-origin:bottom;animation:eq .9s ease-in-out infinite}.eq i:nth-child(2){animation-delay:-.3s}.eq i:nth-child(3){animation-delay:-.6s}@keyframes eq{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.search-box{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:10px;height:50px;margin:8px 2px 4px;padding:0 8px 0 14px;background:var(--surface);border:1px solid var(--rule-strong);color:var(--ash);transition:border-color .15s}.search-box:focus-within{border-color:var(--light)}.search-box input{flex:1;min-width:0;background:none;border:0;outline:none;color:var(--paper);font-size:16px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 10px;padding:0 8px}.tile{display:flex;flex-direction:column;gap:2px;min-width:0;text-align:left}.tile-img{position:relative;aspect-ratio:1;overflow:hidden;margin-bottom:8px;background:var(--rule)}.tile-img img{width:100%;height:100%;object-fit:cover}.tile.round .tile-img img{filter:grayscale(.15)}.tile-ph{height:100%}.tile-play{position:absolute;right:0;bottom:0;width:34px;height:34px;display:grid;place-items:center;background:var(--paper);color:var(--ink);opacity:0;transition:opacity .15s}.tile:hover .tile-play,.tile:focus-visible .tile-play{opacity:1}.liked-cover{display:grid;place-items:center;background:linear-gradient(135deg,var(--c1),var(--c2));color:var(--paper)}.device{display:flex;align-items:center;gap:14px;width:100%;padding:12px 12px 12px 10px;border-left:3px solid transparent;text-align:left;transition:background .12s}.device:hover:not(:disabled){background:var(--hover)}.device.active{border-left-color:var(--light);background:var(--light-soft)}.device-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--rule);color:var(--smoke)}.device.active .device-icon{color:var(--light);border-color:var(--light)}.device-text{flex:1;min-width:0;display:flex;flex-direction:column}.device-name{font-weight:600}.device-sub{font-size:12px;color:var(--ash)}.device .eq{padding:0;height:16px}.card{margin:20px 4px 0;padding:16px;border:1px solid var(--rule)}.card-head{display:flex;gap:12px;align-items:flex-start}.card-head>svg{color:var(--light);margin-top:2px;flex:none}.card-head>div{flex:1}.card-head p{margin:4px 0 0}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:20px;background:#0000008c;animation:fade .2s var(--ease)}.modal{width:min(680px,100%);max-height:calc(100dvh - 40px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--rule-strong);box-shadow:0 40px 100px #0009;animation:modal-in .3s var(--ease)}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)}}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 12px 8px 26px}.modal-head h2{font:italic 600 32px/1 var(--serif)}.modal-body{overflow-y:auto;overscroll-behavior:contain;padding:0 26px calc(24px + var(--safe-b))}.setting-block{padding:20px 0;border-top:1px solid var(--rule)}.setting-block:first-child{border-top:0}.setting-block h4{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:15px;font-weight:600}.setting-block>p{margin:0 0 14px;max-width:62ch}.source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.source-card{display:flex;flex-direction:column;gap:4px;padding:14px;text-align:left;border:1px solid var(--rule);transition:border-color .15s,background .15s}.source-card svg{color:var(--smoke);margin-bottom:6px}.source-card small{font-size:12px;color:var(--ash);line-height:1.35}.source-card:hover{border-color:var(--rule-strong)}.source-card.on{border-color:var(--light);background:var(--light-soft)}.source-card.on svg{color:var(--light)}.field-row{display:flex;gap:8px;margin-top:12px}.select{flex:1;min-width:0;height:44px;padding:0 12px;border:1px solid var(--rule-strong);background:var(--surface);outline:none}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0 0;cursor:pointer}.toggle-row span:first-child{display:flex;flex-direction:column}.toggle-row b{font-weight:500}.setting-block .tags{margin:4px 0 6px}.shortcuts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 18px;font-size:13px;color:var(--smoke)}.shortcuts div{display:flex;align-items:center;gap:10px}.account{display:flex;align-items:center;justify-content:space-between;gap:16px}.account-info{display:flex;flex-direction:column}.toasts{position:fixed;left:50%;top:calc(76px + var(--safe-t));z-index:40;translate:-50% 0;display:flex;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 24px);pointer-events:none}.toast{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface);border:1px solid var(--rule-strong);box-shadow:0 16px 40px #00000073;font-size:14px;text-align:left;pointer-events:auto;animation:toast-in .3s var(--ease)}.toast-dot{width:8px;height:8px;background:var(--light);flex:none}.toast.error .toast-dot{background:#ff9f8f}.toast.success .toast-dot{background:#8fe3a5}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}}@media (max-width: 760px){.drawer{top:auto;left:0;width:100%;height:86dvh;border-left:0;border-top:1px solid var(--rule-strong);transform:translateY(100%);padding-top:0}.drawer-head{padding-top:6px}.drawer-head:before{content:"";position:absolute;top:6px;left:50%;width:36px;height:3px;margin-left:-18px;background:var(--rule-strong)}.tab span{display:none}.tab.on span{display:inline}.row-actions{opacity:1}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-scrim{padding:0;place-items:end stretch}.modal{width:100%;max-height:92dvh;border-width:1px 0 0}.modal-head{padding-left:var(--pad)}.modal-body{padding:0 var(--pad) calc(24px + var(--safe-b))}.source-grid,.shortcuts{grid-template-columns:1fr}.account{flex-direction:column;align-items:stretch}}@media (max-height: 540px) and (orientation: landscape){.drawer{width:min(420px,60vw)}.modal{max-height:100dvh}}@media (hover: none){.row-actions,.row-play{opacity:1}.row-play{background:transparent;display:none}}.scale-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,1.2fr) 56px;align-items:center;gap:14px;padding-top:12px}.scale-row>span{font-weight:600}.scale-val{height:28px;font-size:13px;font-variant-numeric:tabular-nums;color:var(--smoke);border:1px solid var(--rule)}.scale-val:hover{color:var(--paper);border-color:var(--rule-strong)}.font-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);align-items:center;gap:6px 14px;padding-top:12px}.font-row>span:first-child{font-weight:600}.font-row .select{height:40px}.font-sample{grid-column:2;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:18px;color:var(--smoke)}.font-sample-lyrics{font-size:22px;font-weight:600}.font-sample-adlib{font-size:15px;color:var(--ash)}@media (max-width: 560px){.scale-row{grid-template-columns:minmax(0,1fr) 56px}.scale-row .slider{grid-column:1 / -1;grid-row:2}.font-row{grid-template-columns:minmax(0,1fr)}.font-sample{grid-column:1}}
