@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,Arial,sans-serif;color:#1b292b;background:#d7dad5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}svg{flex:none}input,select{outline:none}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #1f6f83;outline-offset:2px}.desktop{min-height:100vh;background:#d7dad5;display:flex;flex-direction:column}.desktop-top{height:54px;background:#172e35;color:#eaf1ee;display:flex;align-items:center;gap:28px;padding:0 28px;font-size:12px;letter-spacing:.04em}.app-badge,.top-user{border:0;color:inherit;background:none;display:flex;align-items:center;gap:9px;font-weight:700}.app-badge{font-family:DM Mono,monospace;font-size:14px;letter-spacing:.16em}.app-badge svg{color:#83bdc0;font-size:20px}.top-user{margin-left:auto}.status-dot{display:inline-block;width:7px;height:7px;background:#5ab5a4;border-radius:50%}.workspace{flex:1;min-height:0;display:grid;grid-template-columns:196px minmax(400px,1fr) 325px;gap:18px;padding:18px;max-height:calc(100vh - 91px)}.sidebar{background:#c9ceca;border:1px solid #aeb7b4;box-shadow:inset 1px 1px #f3f5f0,inset -1px -1px #929d9a;display:flex;flex-direction:column;padding:12px 8px;gap:20px}.side-group{display:flex;flex-direction:column;gap:4px}.sidebar button{width:100%;border:0;background:transparent;display:flex;align-items:center;gap:12px;padding:11px 12px;color:#2c4447;text-align:left;font-size:13px;border-radius:1px}.sidebar button svg{font-size:17px}.sidebar button:hover,.sidebar button.selected{background:#e8ebe5}.sidebar .side-cta{background:#206c7b;color:#fff;box-shadow:inset 1px 1px #6ba5af,inset -1px -1px #104f5f}.sidebar .side-cta:hover{background:#155b69}.side-bottom{margin-top:auto}.main-area,.right-panel{min-width:0;min-height:0}.window{height:100%;background:#f0f1eb;border:1px solid #83908e;box-shadow:inset 1px 1px #fff,inset -1px -1px #717f7d,3px 4px #aeb5b0;display:flex;flex-direction:column;min-height:0}.window-bar{height:37px;flex:none;background:#274752;color:#f1f5f0;display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 15px;font-family:DM Mono,monospace;font-size:11px;letter-spacing:.12em}.window-actions{display:flex;align-items:center;gap:5px}.window-count{margin-right:10px;opacity:.6}.chrome-box{display:block;width:15px;height:15px;background:#d1d8d2;border:1px solid #f6f8f3;box-shadow:inset -2px -2px #73817c}.close-box:before{content:"×";display:block;color:#274752;line-height:12px;text-align:center;font-size:12px}.window-body{padding:24px 27px;overflow-y:auto;flex:1;min-height:0}.button{height:34px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #8e9e9a;background:#e6eae4;box-shadow:inset 1px 1px #fff,inset -1px -1px #a4afaa;color:#2b4547;font-size:12px;font-weight:600;white-space:nowrap}.button:hover{background:#f2f5ee}.button.primary{background:#246f80;color:#fff;border-color:#0c5969;box-shadow:inset 1px 1px #6eacb8,inset -1px -1px #104c5b}.button.primary:hover{background:#195f70}.button.subtle{background:transparent;box-shadow:none;border-color:transparent;padding:0 7px;height:29px;color:#5f7070}.button.subtle:hover{color:#1d6677;background:#e4e9e5}.button.active-heart{color:#b34f55}.button svg{font-size:15px}.muted{color:#899491;font-size:12px}.cover{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#cdd8d4;color:#5d8d91;overflow:hidden;min-width:0}.cover img{width:100%;height:100%;object-fit:cover}.cover>svg{font-size:42px;stroke-width:1.15}.cover.small{width:40px;height:40px;flex:none}.cover.small>svg{font-size:21px}.home-intro{background:#dce5df;border:1px solid #bccbc3;padding:20px;display:flex;justify-content:space-between;align-items:center;color:#235663;margin-bottom:23px}.home-intro>div{display:flex;align-items:center;gap:15px;font-size:16px;font-weight:700}.home-intro svg{font-size:27px}.home-intro button{border:0;background:none;color:inherit}.home-intro button svg{font-size:20px}.folder-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.folder-grid>button{background:#e8ece5;border:1px solid #c4ceca;text-align:left;padding:16px;display:flex;flex-direction:column;align-items:flex-start;min-height:126px;box-shadow:inset 1px 1px #fff}.folder-grid>button:hover,.album-card:hover,.user-card:hover{background:#dce8e4;border-color:#8faea9}.folder-grid svg{font-size:25px;color:#397985;margin-bottom:auto}.folder-grid strong,.album-card strong{font-size:13px;margin-top:10px}.folder-grid small,.album-card small{font-size:11px;color:#899592;margin-top:3px}.section-line{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #c9d0ca;padding:0 0 10px;margin:27px 0 13px;color:#334b4b;font-size:13px;font-weight:700}.section-line button{display:flex;align-items:center;gap:5px;border:0;background:none;color:#447c82;font-size:11px}.track-list{display:flex;flex-direction:column;gap:2px}.track-row{min-height:56px;display:flex;align-items:center;gap:12px;padding:5px 8px;border-bottom:1px solid #dfe4dd}.track-row:hover{background:#e6ece6}.track-num{width:17px;color:#97a29f;font:12px DM Mono,monospace;text-align:center}.track-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.track-info strong,.now-meta strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-info span,.now-meta span{font-size:11px;color:#7b8986;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-duration{font-family:DM Mono,monospace}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:21px}.search{height:36px;flex:1;display:flex;align-items:center;gap:10px;background:#fafbf6;border:1px solid #a7b5af;padding:0 12px;color:#5e7e7d}.search input{border:0;background:transparent;min-width:0;flex:1;font-size:12px}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:14px}.album-card{border:1px solid #d0d8d1;background:#e8ece5;text-align:left;padding:8px 8px 12px;display:flex;flex-direction:column;min-width:0}.album-card .cover{width:100%}.album-card strong,.album-card span,.album-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.album-card span{font-size:11px;color:#667b7a;margin-top:3px}.back-link{border:0;background:none;color:#397985;display:flex;align-items:center;gap:8px;font-size:12px;padding:0;margin-bottom:22px}.detail-head{display:flex;gap:25px;align-items:end;margin-bottom:25px}.detail-head>.cover{width:174px;height:174px;flex:none}.detail-head>div:last-child{display:flex;flex-direction:column;align-items:start;gap:9px}.detail-head strong{font-size:25px}.detail-head span{font-size:13px;color:#73837e}.detail-head .button{margin-top:10px}.detail-head.simple>svg{font-size:70px;color:#4f8991;margin:40px}.user-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:10px}.user-card{background:#e7ebe6;border:1px solid #cbd4cc;padding:12px;display:flex;align-items:center;gap:10px;text-align:left}.user-card>div:nth-child(2){display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}.user-card strong{font-size:12px}.user-card span,.user-card small{font-size:11px;color:#82918d}.user-card small{margin-top:4px}.user-card>svg{color:#77908c}.profile-head{display:flex;align-items:center;gap:20px}.profile-head .cover{width:110px;height:110px}.profile-head>div:last-child{display:flex;flex-direction:column;gap:5px}.profile-head strong{font-size:21px}.profile-head span,.profile-head small{color:#73817e;font-size:12px}.upload-label{display:flex;align-items:center;gap:8px;margin-top:7px;color:#276f7d;font-size:12px;cursor:pointer}.upload-label input{display:none}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:22px 0 5px}.stats>div{display:flex;flex-direction:column;gap:4px;background:#e1e9e2;border:1px solid #c3d0c6;padding:15px}.stats strong{font:22px DM Mono,monospace;color:#2b6e78}.stats span{font-size:10px;color:#73837e}.folder-grid.compact{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.tabs{display:flex;border-bottom:1px solid #becdc5;margin-bottom:25px;gap:5px}.tabs button{border:0;background:transparent;padding:12px 15px;color:#748581;font-size:12px}.tabs button.current{border-bottom:3px solid #246f80;color:#245966;font-weight:700}.form-grid{max-width:530px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label,.login-form label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700;color:#5b726f}.form-grid input,.form-grid select,.login-form input{height:37px;border:1px solid #a5b4aa;box-shadow:inset 1px 1px #d2dcd4;background:#fbfcf8;padding:0 10px;color:#223b3d;min-width:0;font-size:12px}.form-grid input[type=file]{padding:8px 7px}.form-grid button{align-self:end;width:max-content}.settings-row{display:flex;align-items:center;justify-content:space-between}.admin-row{border:1px solid #cbd4cc;background:#e7ebe6;padding:12px;display:flex;flex-direction:column;gap:5px;font-size:12px}.admin-row span{color:#778a85}.admin-row select{margin-top:7px;background:#fff;border:1px solid #adbcb4;height:30px}.right-body{overflow-y:auto;min-height:0;padding:17px;flex:1}.now-art .cover{width:100%;aspect-ratio:1;max-height:245px}.now-art .cover>svg{font-size:70px}.now-meta{display:flex;flex-direction:column;gap:5px;margin:16px 0 23px}.now-meta strong{font-size:17px}.now-meta span{font-size:12px}.wave-wrap{height:72px;position:relative}.wave{display:block;width:100%;height:100%;cursor:pointer}.wave-note{position:absolute;top:0;transform:translate(-50%);height:18px;width:18px;border-radius:50%;border:1px solid #fff;background:#668a8e;color:#fff;font-size:9px;padding:0}.time-row{display:flex;justify-content:space-between;color:#80918e;font:10px DM Mono,monospace}.controls{display:flex;justify-content:space-between;align-items:center;margin:18px 0}.controls button{border:0;background:none;color:#617d7f;font-size:19px;padding:6px}.controls button.on{color:#236f7e}.controls .play-control{background:#246f80;color:#fff;width:53px;height:53px;border:1px solid #0c5969;box-shadow:inset 1px 1px #6eacb8,inset -1px -1px #104c5b;display:grid;place-items:center}.controls .play-control svg{font-size:26px}.player-switches{display:flex;justify-content:space-between;color:#677d7a;font-size:11px}.player-switches label{display:flex;align-items:center;gap:4px}.player-switches input{accent-color:#246f80}.volume{display:flex;gap:12px;align-items:center;color:#538087;margin-top:19px}.volume input{width:100%;accent-color:#246f80}.right-body .section-line{margin:25px 0 10px}.notes-list{max-height:165px;overflow:auto}.notes-list button{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #dfe4dd;padding:10px;text-align:left}.notes-list button.selected,.notes-list button:hover{background:#e1eae3}.notes-list span{font-size:10px;color:#497c83}.notes-list p{font-size:11px;margin:5px 0 0;color:#4a5e5d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-detail{position:relative;background:#dbe8e0;padding:12px;margin:9px 0;font-size:11px;line-height:1.5}.note-detail>button{position:absolute;right:7px;top:7px;border:0;background:none}.note-detail p{margin-bottom:0}.note-form{display:flex;gap:5px;margin-top:12px}.note-form input{min-width:0;flex:1;background:#fbfcf8;border:1px solid #aabbb1;padding:0 8px;font-size:11px}.taskbar{height:37px;background:#b9c7c1;border-top:1px solid #8f9e98;display:flex;align-items:center;gap:18px;padding:0 18px;color:#3d5a5b;font:11px DM Mono,monospace}.taskbar button{background:#e9ede6;border:1px solid #8c9d98;box-shadow:inset 1px 1px #fff,inset -1px -1px #a5b1aa;padding:5px 12px;display:flex;align-items:center;gap:8px;color:#294e55;font-weight:700}.taskbar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.taskbar time{margin-left:auto}.login-page,.share-page{min-height:100vh;background:#d7dad5;display:flex;align-items:center;justify-content:center;padding:22px}.login-page .window{height:auto;width:360px}.login-form{padding:32px;display:flex;flex-direction:column;gap:16px}.login-icon{width:57px;height:57px;background:#d6e4dd;display:grid;place-items:center;color:#246f80;font-size:30px;margin-bottom:7px}.login-form .button{align-self:flex-start;margin-top:5px}.error{color:#a24444;font-size:12px}.share-page .window{height:auto;width:520px}.share-content{padding:25px;display:flex;gap:20px}.share-content .cover{height:150px;width:150px;flex:none}.share-content>div:last-child{display:flex;flex-direction:column;gap:9px;align-items:start}.share-content strong{font-size:18px}.share-content span{font-size:13px;color:#748783}.share-content .button{margin-top:15px}.toast{position:fixed;bottom:52px;right:22px;background:#244d55;color:#fff;padding:11px 15px;z-index:20;box-shadow:2px 2px #99aaa3;font-size:12px}.toast.error{background:#964849;color:#fff;cursor:pointer}.empty{font-size:12px;color:#889894;padding:15px 0}@media (max-width:1100px){.workspace{grid-template-columns:165px minmax(350px,1fr) 270px;gap:10px;padding:10px}.window-body{padding:18px}.folder-grid{grid-template-columns:repeat(2,1fr)}.track-row{gap:6px}.track-row .button{padding:0 4px}}@media (max-width:800px){.workspace{display:flex;flex-direction:column;max-height:none;padding:8px;gap:10px}.sidebar{flex-direction:row;align-items:center;overflow-x:auto;padding:5px;gap:5px;flex:none}.side-group,.side-bottom{flex-direction:row;margin:0}.sidebar button{white-space:nowrap;width:auto;padding:8px}.sidebar button svg{font-size:15px}.main-area{height:55vh;min-height:450px}.right-panel{height:auto;min-height:500px}.right-body{display:grid;grid-template-columns:150px 1fr;column-gap:20px}.now-art{grid-row:span 2}.now-art .cover{width:150px}.right-body>*:not(.now-art){grid-column:2}.desktop-top{padding:0 14px}.row-duration{display:none}}@media (max-width:540px){.workspace{padding:6px}.window-body{padding:15px}.right-body{display:block}.right-body .now-art .cover{max-width:220px}.form-grid{grid-template-columns:1fr}.folder-grid{gap:7px}.folder-grid>button{padding:10px;min-height:110px}.track-row .button:nth-last-child(-n+2){display:none}.detail-head>.cover{width:100px;height:100px}.detail-head strong{font-size:17px}.share-content{flex-direction:column}.stats{gap:4px}.stats>div{padding:9px}.stats strong{font-size:16px}}.wave-note img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
