#home .musicEntry{display:block;width:100%;max-width:372px;min-height:50px;margin:12px auto 0;border:0;border-radius:14px;background:#f6f0ffdc;color:#725397;font:700 15px 'M PLUS Rounded 1c',sans-serif;box-shadow:none}
#musicRoom{width:min(100% - 18px,470px);height:min(920px,calc(100dvh - 16px));max-height:calc(100dvh - 16px);padding:0;border:0;border-radius:28px;background:#fffdfd;color:#4e3d68;overflow:hidden;box-shadow:0 18px 50px #46355738}
#musicRoom[open]{display:block}
#musicRoom::backdrop{background:linear-gradient(145deg,#d9ccf1dd,#f8dbe8dd 50%,#d6edf2dd);backdrop-filter:blur(8px)}
.musicRoomSurface{position:relative;height:100%;overflow:auto;overscroll-behavior:contain;padding:18px 18px max(22px,env(safe-area-inset-bottom));background:linear-gradient(160deg,#fffdfd 0%,#fdf9ff 58%,#f9fcff 100%)}
.musicRoomHeader{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;text-align:center;margin:0 0 12px}
.musicRoomHeader button{appearance:none;-webkit-appearance:none;width:42px;height:44px;min-height:44px;padding:0;border:0;border-radius:0;background:transparent;color:#5a427b;font:400 36px/1 sans-serif;box-shadow:none;outline:0;-webkit-tap-highlight-color:transparent}
.musicRoomHeader button:hover,.musicRoomHeader button:active,.musicRoomHeader button:focus,.musicRoomHeader button:focus-visible{border:0;border-radius:0;background:transparent;box-shadow:none;outline:0}
.musicRoomHeader p{margin:0;font:700 18px/1.2 'M PLUS Rounded 1c',sans-serif;letter-spacing:4px;color:#554174}
.musicRoomHeader h2{margin:3px 0 0;font:700 11px/1.2 'M PLUS Rounded 1c',sans-serif;letter-spacing:3px;color:#aa94c8}
.musicRoomHeader>span{color:#9a7abe;font-size:24px}
.musicScene{position:relative;width:100%;aspect-ratio:3/2;margin:0;overflow:hidden;border-radius:18px;background:#eee7f7}
.musicScene img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.musicScene>#musicSceneImage{will-change:transform}.musicScene>.sceneCrossfade{position:absolute;z-index:1;inset:0;opacity:0;transition:opacity .4s ease;will-change:opacity,transform}.musicScene>.sceneCrossfade.visible{opacity:1}
.roomGlow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--glow-x,70%) var(--glow-y,20%),#fff8c54d,transparent 32%);mix-blend-mode:screen}.sceneRecord,.sceneNeedle,.sceneCatBreath{position:absolute;display:block;pointer-events:none;opacity:0}.sceneRecord{left:var(--record-x);top:var(--record-y);width:var(--record-size);aspect-ratio:1;border-radius:50%;translate:-50% -50%;background:repeating-radial-gradient(circle,#ffffff08 0 3px,#17132638 4px 5px);box-shadow:inset 0 0 0 1px #fff3}.sceneNeedle{left:var(--needle-x);top:var(--needle-y);width:9%;height:2px;border-radius:2px;background:#e9dfefaa;transform:rotate(-18deg);transform-origin:right center}.sceneCatBreath{left:var(--cat-x);top:var(--cat-y);width:18%;height:18%;border-radius:50%;translate:-50% -50%;background:radial-gradient(ellipse,#fff8 0,transparent 67%);mix-blend-mode:soft-light}
#musicRoom.playing .roomGlow{animation:roomGlow 4.8s ease-in-out infinite alternate}#musicRoom.playing #musicSceneImage,#musicRoom.playing .sceneCrossfade{animation:roomSway 5.8s ease-in-out infinite alternate}#musicRoom.playing .sceneCatBreath{opacity:.18;animation:catBreath 4.5s ease-in-out infinite alternate}
.nowPlaying{padding:18px 4px 8px;text-align:center;border-bottom:1px solid #e8def0}.nowPlaying>p{margin:0 0 2px;font-size:20px;letter-spacing:.4px}.nowPlaying>small{display:block;margin:0 0 13px;color:#aa92c4;font-size:10px;letter-spacing:1px}
.seekLine{display:grid;grid-template-columns:38px 1fr 38px;gap:7px;align-items:center;color:#7e6b96;font-size:11px}.seekLine input{width:100%;height:28px;margin:0;appearance:none;-webkit-appearance:none;background:transparent}.seekLine input::-webkit-slider-runnable-track{height:4px;border:1px solid #cbb7e1;border-radius:999px;background:#eee8f5}.seekLine input::-webkit-slider-thumb{width:14px;height:14px;margin-top:-6px;border:0;border-radius:50%;-webkit-appearance:none;background:#9270c5;box-shadow:0 1px 3px #664d8438}.seekLine input::-moz-range-track{height:4px;border:1px solid #cbb7e1;border-radius:999px;background:#eee8f5}.seekLine input::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:50%;background:#9270c5}
.musicControls{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:0;margin:11px 0 5px}.musicControls button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;min-width:0;height:52px;padding:0;border:0;background:transparent;color:#60487e;box-shadow:none}.musicControls button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}.musicControls #musicShuffle svg,.musicControls #musicRepeat svg{width:27px;height:27px;stroke-width:2}.musicControls button small{font-size:7px;line-height:1;letter-spacing:.8px}.musicControls button.active{color:#a16ec7}.musicControls .musicPlay{width:56px;height:56px;margin:auto;border-radius:50%;background:#8e70bf;color:#fff;box-shadow:0 2px 7px #66507b2e}.musicControls .musicPlay svg{width:25px;height:25px;fill:currentColor;stroke:none}
.musicLibrary{border-top:1px solid #e8def0;padding-top:12px}.libraryHeading{display:flex;align-items:baseline;justify-content:space-between;padding:0 10px 7px}.libraryHeading h3{margin:0;font-size:17px}.libraryHeading span{font-size:9px;letter-spacing:2px;color:#a493b7}
#musicTrackList{border-top:1px solid #eee7f3}.musicTrack{display:grid;grid-template-columns:28px 34px 1fr 42px;gap:8px;align-items:center;width:100%;min-height:47px;margin:0;padding:6px 10px;border:0;border-bottom:1px solid #eee7f3;border-radius:0;background:transparent;color:#514068;text-align:left;box-shadow:none}.musicTrack span{font-size:11px;color:#a08eaf}.musicTrack img{display:block;width:34px;height:34px;border-radius:8px}.musicTrack b{font-size:14px}.musicTrack i{font-style:normal;font-size:10px;text-align:right;color:#88749d}.musicTrack.selected{background:#eee6f8}.musicTrack.selected b{color:#805bab}
@keyframes catBreath{to{transform:scale(1.002) translateY(-.35px)}}@keyframes roomGlow{to{opacity:.48}}@keyframes roomSway{to{transform:scale(1.002) translateY(-.4px)}}
@media(max-height:760px){#musicRoom{height:calc(100dvh - 8px);max-height:calc(100dvh - 8px);border-radius:22px}.musicRoomSurface{padding:12px 14px max(16px,env(safe-area-inset-bottom))}.musicRoomHeader{margin-bottom:8px}.musicRoomHeader p{font-size:16px}.musicScene{aspect-ratio:3/2}.nowPlaying{padding:12px 4px 6px}.nowPlaying>p{font-size:17px}.nowPlaying>small{margin-bottom:7px}.musicControls{margin:5px 0 3px}.musicControls .musicPlay{width:52px;height:52px}.musicTrack{min-height:42px;padding-top:4px;padding-bottom:4px}.musicTrack img{width:31px;height:31px}}
@media(max-height:760px){#home .musicEntry{min-height:43px;margin-top:9px;font-size:13px}}@media(max-height:650px){#home .musicEntry{min-height:38px;margin-top:7px;font-size:12px}}
.musicControls #musicShuffle svg,.musicControls #musicRepeat svg{width:26px;height:26px;stroke-width:2.15}
