:root{--ink:#11141b;--paper:#f3f0e8;--cream:#ded9cb;--lime:#d8ff36;--pink:#ff4e91;--cyan:#28d7d7;--purple:#8d6cff;--orange:#ff9b4a;--muted:#777970;--line:rgba(17,20,27,.17)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,system-ui,sans-serif;min-width:320px}.noise{position:fixed;inset:0;pointer-events:none;opacity:.06;z-index:10;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.app-shell{width:min(1500px,calc(100% - 48px));margin:auto}.topbar{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:10px;font-size:22px;font-weight:800;letter-spacing:-.05em}.brand b{font-size:10px;letter-spacing:.14em;background:var(--ink);color:white;padding:4px 7px;border-radius:2px;margin-left:-6px}.brand-mark{width:30px;height:30px;background:var(--lime);border:2px solid var(--ink);display:flex;flex-direction:column;justify-content:center;gap:2px;padding:4px;transform:rotate(-5deg);box-shadow:3px 3px 0 var(--ink)}.brand-mark i{height:1px;background:var(--ink);display:block}.top-actions{display:flex;gap:9px}.ghost-btn,.profile-btn{border:1px solid var(--ink);height:38px;min-width:38px;border-radius:50%;background:transparent;font-weight:800;cursor:pointer}.profile-btn{background:var(--pink);color:white;border:0}.hero{display:grid;grid-template-columns:1fr 420px;align-items:end;gap:60px;padding:58px 0 43px}.eyebrow{font:500 11px DM Mono,monospace;letter-spacing:.12em}.eyebrow span{display:inline-block;width:28px;height:3px;background:var(--pink);vertical-align:middle;margin-right:8px}.hero h1{font-size:clamp(52px,7.2vw,104px);line-height:.82;letter-spacing:-.075em;margin:24px 0 26px;font-weight:800}.hero h1 em{color:var(--pink);font-style:normal;position:relative}.hero h1 em:after{content:"";position:absolute;left:0;right:-8px;bottom:-7px;height:9px;background:var(--lime);z-index:-1;transform:rotate(-2deg)}.intro{font-size:16px;line-height:1.6;color:#5e605c;max-width:560px}.upload-card{border:1.5px dashed var(--ink);padding:22px;display:flex;align-items:center;gap:18px;background:rgba(255,255,255,.3);cursor:pointer;transition:.2s}.upload-card:hover,.upload-card.dragging{background:var(--lime);transform:translateY(-3px);box-shadow:5px 5px 0 var(--ink)}.upload-card input{display:none}.upload-icon{width:52px;height:52px;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-size:24px;border-radius:50%}.upload-card b,.upload-card small{display:block}.upload-card small{font:10px DM Mono;color:var(--muted);margin-top:5px}.player-card{background:var(--ink);color:white;padding:28px 32px 25px;box-shadow:12px 12px 0 var(--lime);position:relative;overflow:hidden}.player-card:before{content:"";position:absolute;width:360px;height:360px;background:var(--purple);filter:blur(140px);opacity:.11;right:-100px;top:-130px}.song-head{display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.13);padding-bottom:22px;position:relative}.cover-art{width:72px;height:72px;background:var(--pink);margin-right:17px;display:flex;gap:5px;align-items:center;justify-content:center;overflow:hidden}.cover-art span{width:7px;background:var(--ink);border-radius:8px}.cover-art span:nth-child(1){height:32px}.cover-art span:nth-child(2){height:54px;background:var(--lime)}.cover-art span:nth-child(3){height:23px}.song-title p,.status-row small,.finger-hint>span,.timeline-head,.tempo-control span{font:500 9px DM Mono;letter-spacing:.12em;color:#a8aaa4}.song-title p{color:var(--lime);margin:0 0 5px}.song-title h2{font-size:25px;margin:0 0 2px;letter-spacing:-.03em}.song-title>span{font-size:11px;color:#888b87}.practice-score{margin-left:auto;text-align:right}.practice-score span{display:block;font:9px DM Mono;color:#777}.practice-score strong{font:32px DM Mono;color:var(--lime)}.status-row{display:grid;grid-template-columns:1fr 1fr 165px;align-items:center;gap:26px;padding:20px 0}.now-note{display:flex;align-items:center;gap:12px}.now-note>span{width:46px;height:46px;display:grid;place-items:center;background:var(--lime);color:var(--ink);font:800 16px DM Mono;border-radius:50%;box-shadow:0 0 25px rgba(216,255,54,.2)}.now-note small,.now-note b{display:block}.now-note b{font-size:12px;margin-top:4px}.hold-meter{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.hold-meter span{font:9px DM Mono;color:#92958e}.hold-meter div{height:5px;background:#33373a;border-radius:5px;overflow:hidden}.hold-meter i{display:block;height:100%;background:var(--pink);width:0}.hold-meter b{font:11px DM Mono;color:var(--pink)}.finger-hint{border-left:1px solid #333;padding-left:20px}.finger-hint>*{display:inline-block}.finger-hint b{width:29px;height:29px;border-radius:50%;background:var(--pink);text-align:center;line-height:29px;margin:0 8px}.finger-hint small{color:#aaa;font-size:10px}.fretboard-wrap{position:relative;margin-top:8px;display:grid;grid-template-columns:40px 1fr}.string-labels{display:grid;grid-template-rows:repeat(6,1fr);height:226px;padding:12px 0}.string-labels span{font:500 11px DM Mono;color:#8b8d89;display:flex;align-items:center}.fretboard{height:226px;position:relative;background:linear-gradient(90deg,#272a2d,#1d2022);border:3px solid #3b3e3f;display:grid;grid-template-columns:repeat(13,1fr);grid-template-rows:repeat(6,1fr);box-shadow:inset 0 0 30px #0c0d0f}.fretboard:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(20% - 1px),rgba(230,233,225,.42) calc(20% - 1px),rgba(230,233,225,.42) 20%);pointer-events:none}.fret{border-left:2px solid #747771;position:relative;z-index:1}.fret.open{border-left:5px solid #e1ddd0}.fret-marker{position:absolute;width:8px;height:8px;border-radius:50%;background:#646763;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.5}.note-marker{width:30px;height:30px;border-radius:50%;place-self:center;z-index:3;display:grid;place-items:center;color:var(--ink);font:800 13px DM Mono;box-shadow:0 0 0 4px rgba(255,255,255,.09),0 0 24px currentColor;transform:scale(.45);opacity:0;transition:.2s}.note-marker.active{transform:scale(1);opacity:1}.note-marker.next{opacity:.45;transform:scale(.7)}.finger-1{background:var(--pink)}.finger-2{background:var(--cyan)}.finger-3{background:var(--purple);color:white}.finger-4{background:var(--orange)}.fret-numbers{margin:8px 0 0 40px;display:grid;grid-template-columns:repeat(13,1fr);font:9px DM Mono;color:#71736f;text-align:center}.timeline-wrap{margin-top:24px}.timeline-head{display:flex;justify-content:space-between;margin-bottom:10px}.timeline{height:77px;display:flex;gap:5px;align-items:stretch;overflow-x:auto;scrollbar-width:none;padding-bottom:3px}.timeline::-webkit-scrollbar{display:none}.tab-event{flex:1 0 52px;min-width:44px;border:1px solid #36393b;background:#1d2022;color:#8e918c;display:flex;flex-direction:column;align-items:center;justify-content:center;font:10px DM Mono;cursor:pointer;position:relative;transition:.2s}.tab-event b{font-size:18px;color:white}.tab-event small{font-size:8px}.tab-event.active{background:var(--lime);color:#575b43;border-color:var(--lime);transform:translateY(-2px)}.tab-event.active b{color:var(--ink)}.tab-event.played{border-color:#62665c}.tab-event.rest b{color:#555}.transport{border-top:1px solid #33363a;margin-top:21px;padding-top:21px;display:flex;align-items:center;gap:9px}.transport-btn,.play-btn{color:#c8cac6;background:transparent;border:1px solid #494c4d;width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:21px}.transport-btn:hover{border-color:var(--lime);color:var(--lime)}.transport-btn.active{color:var(--pink);border-color:var(--pink)}.play-btn{width:54px;height:54px;background:var(--lime);border:0;color:var(--ink);font-size:16px}.play-btn.playing{background:var(--pink);color:white}.tempo-control{display:flex;align-items:center;gap:16px;margin-left:auto}.tempo-control div{min-width:80px}.tempo-control span,.tempo-control b{display:block}.tempo-control b{font:14px DM Mono;color:var(--lime);margin-top:3px}.tempo-control input{accent-color:var(--lime);width:140px}.sound-toggle{height:38px;border:1px solid #4a4c4d;background:transparent;color:#777;padding:0 13px;font:500 9px DM Mono;letter-spacing:.08em;cursor:pointer}.sound-toggle.active{color:var(--lime);border-color:#627322}.sound-toggle span{font-size:15px;margin-right:5px}.tip-strip{display:grid;grid-template-columns:54px 1fr auto;align-items:center;padding:36px 0 28px;border-bottom:1px solid var(--line)}.bulb{width:38px;height:38px;background:var(--lime);display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;box-shadow:3px 3px 0 var(--ink)}.tip-strip p{margin:0}.tip-strip p b,.tip-strip p span{display:block}.tip-strip p b{font-size:12px}.tip-strip p span{color:#6a6c67;font-size:12px;margin-top:3px}.legend{display:flex;gap:18px;font:9px DM Mono;color:#777}.legend span{display:flex;align-items:center;gap:6px}.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.dot.index{background:var(--pink)}.dot.middle{background:var(--cyan)}.dot.ring{background:var(--purple)}.dot.pinky{background:var(--orange)}footer{display:flex;justify-content:space-between;padding:22px 0 34px;font:8px DM Mono;letter-spacing:.1em;color:#989991}dialog{border:0;background:var(--paper);padding:38px;max-width:520px;box-shadow:12px 12px 0 var(--lime)}dialog::backdrop{background:rgba(10,12,16,.75);backdrop-filter:blur(5px)}dialog>button{position:absolute;right:16px;top:12px;border:0;background:none;font-size:26px;cursor:pointer}dialog h2{font-size:34px;margin:20px 0}dialog ol{padding-left:20px}dialog li{padding:9px}dialog li b,dialog li span{display:block}dialog li span{font-size:12px;color:#666;margin-top:3px}dialog details{margin-top:20px}dialog code{display:block;background:var(--ink);color:var(--lime);padding:14px;margin-top:10px;font:10px DM Mono;white-space:pre-wrap}.toast{position:fixed;right:24px;bottom:24px;background:var(--ink);color:white;padding:14px 20px;font-size:12px;box-shadow:5px 5px 0 var(--pink);transform:translateY(140%);transition:.3s;z-index:20}.toast.show{transform:translateY(0)}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:38px}.upload-card{max-width:520px}.status-row{grid-template-columns:1fr 1fr}.finger-hint{display:none}.transport{flex-wrap:wrap}.tempo-control{order:2;width:100%;margin-top:12px}.tip-strip{grid-template-columns:48px 1fr}.legend{display:none}}@media(max-width:600px){.app-shell{width:calc(100% - 24px)}.topbar{height:72px}.hero{gap:28px}.hero h1{font-size:54px}.player-card{padding:20px 14px;box-shadow:6px 6px 0 var(--lime)}.status-row{grid-template-columns:1fr}.hold-meter{display:none}.fretboard-wrap{grid-template-columns:25px 1fr;overflow-x:auto}.fretboard{min-width:780px}.string-labels{position:sticky;left:0;z-index:5;background:var(--ink)}.fret-numbers{display:none}.song-title h2{font-size:20px}.practice-score{display:none}.sound-toggle{margin-left:auto}.tempo-control input{width:100%}.tip-strip{padding-top:28px}footer{gap:20px}}
.chord-suggestion{min-height:72px;border:1px solid rgba(216,255,54,.42);background:linear-gradient(90deg,rgba(216,255,54,.13),rgba(216,255,54,.03));display:grid;grid-template-columns:70px minmax(180px,1fr) 116px auto;align-items:center;gap:16px;padding:10px 14px;margin:0 0 18px 40px;position:relative}.chord-suggestion[hidden]{display:none}.chord-suggestion:before{content:"";position:absolute;left:-40px;width:28px;height:2px;background:var(--lime)}.chord-stamp{height:51px;border:1px solid var(--lime);display:grid;place-items:center;align-content:center;transform:rotate(-2deg)}.chord-stamp small{font:7px DM Mono;color:var(--lime);letter-spacing:.1em}.chord-stamp strong{font:800 27px Manrope;line-height:1;color:var(--lime)}.chord-copy b,.chord-copy span{display:block}.chord-copy b{font-size:12px}.chord-copy span{font:9px DM Mono;color:#8d908a;margin-top:5px}.chord-suggestion button{height:34px;padding:0 12px;border:1px solid var(--lime);background:transparent;color:var(--lime);font:500 8px DM Mono;letter-spacing:.08em;cursor:pointer}.chord-suggestion button.active{background:var(--lime);color:var(--ink)}.mini-chord{height:48px;display:grid;grid-template-columns:repeat(6,1fr);gap:3px;align-items:end;border-bottom:1px solid #5a5e57}.mini-string{height:100%;border-left:1px solid #545852;position:relative}.mini-string i{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--pink);left:-5px;bottom:calc(var(--fret)*10px - 5px);box-shadow:0 0 9px rgba(255,78,145,.55)}.mini-string.open:before{content:"○";position:absolute;top:-8px;left:-5px;color:var(--lime);font:10px DM Mono}.chord-marker{opacity:.32!important;transform:scale(.72)!important;border:1px dashed white;box-shadow:none}.chord-tag{position:absolute;top:-7px;left:4px;background:var(--pink);color:white;padding:1px 4px;font:700 7px DM Mono;transform:rotate(-3deg)}
@media(max-width:900px){.chord-suggestion{grid-template-columns:60px 1fr auto}.mini-chord{display:none}}@media(max-width:600px){.chord-suggestion{margin-left:25px;grid-template-columns:52px 1fr;padding:9px}.chord-suggestion:before{left:-25px;width:16px}.chord-suggestion button{grid-column:1/-1}}
.rhythm-lane{margin:18px 0 0 40px;border-top:1px solid #35383a;border-bottom:1px solid #35383a;min-height:88px;display:grid;grid-template-columns:210px 1fr auto;align-items:center;gap:20px;padding:12px 0}.rhythm-info>*{display:block}.rhythm-kicker{font:500 8px DM Mono;letter-spacing:.12em;color:var(--lime)}.rhythm-kicker i{display:inline-block;width:7px;height:7px;background:var(--pink);border-radius:50%;margin-right:7px;box-shadow:0 0 8px var(--pink)}.rhythm-info b{font-size:12px;margin-top:6px}.rhythm-info small{font-size:9px;color:#81847e;margin-top:3px}.rhythm-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}.strum-step{height:58px;border-left:1px solid #3c3f40;display:grid;place-items:center;align-content:center;gap:1px;position:relative;transition:.15s}.strum-step .count{font:8px DM Mono;color:#70736e}.strum-step .arrow{font:700 23px Manrope;color:#8b8e88;line-height:1}.strum-step.up .arrow{color:var(--cyan)}.strum-step.accent .arrow{color:var(--pink);font-size:29px}.strum-step.active{background:rgba(216,255,54,.12);border-left-color:var(--lime)}.strum-step.active .arrow{color:var(--lime);transform:scale(1.15)}.strum-step .role{font:7px DM Mono;color:#777;min-height:8px}.strum-step.bass .role{color:var(--orange)}.rhythm-lane>button{height:34px;border:1px solid #5a5e55;background:transparent;color:var(--lime);font:500 8px DM Mono;letter-spacing:.08em;padding:0 12px;cursor:pointer}.rhythm-lane>button.simple{color:var(--cyan);border-color:var(--cyan)}
@media(max-width:900px){.rhythm-lane{grid-template-columns:170px 1fr}.rhythm-lane>button{grid-column:1/-1;width:max-content}}@media(max-width:600px){.rhythm-lane{margin-left:25px;grid-template-columns:1fr}.rhythm-grid{grid-template-columns:repeat(4,1fr)}.rhythm-info small{max-width:260px}}
.strum-step.thumb .arrow{width:28px;height:28px;border:1px solid var(--orange);border-radius:50%;display:grid;place-items:center;color:var(--orange)!important;font:700 14px DM Mono}.strum-step.thumb .role{color:var(--orange);font-weight:700}.strum-step.active .role{color:var(--lime);font-weight:700}.strum-step.up.active .role{color:var(--cyan)}
.library-btn{width:42px;height:42px;border:1px solid #b9b5aa;background:transparent;display:grid;place-content:center;gap:5px;cursor:pointer;transition:.2s}.library-btn span{display:block;width:19px;height:2px;background:var(--ink);transition:.2s}.library-btn:hover{background:var(--ink)}.library-btn:hover span{background:var(--lime)}
.song-library{position:fixed;z-index:50;inset:0 auto 0 0;width:min(430px,92vw);padding:34px;background:#101316;color:#f4f1e8;transform:translateX(-105%);transition:transform .3s cubic-bezier(.2,.8,.2,1);box-shadow:18px 0 50px rgba(0,0,0,.24);display:flex;flex-direction:column}.song-library.open{transform:translateX(0)}.library-backdrop{position:fixed;z-index:49;inset:0;background:rgba(11,13,14,.58);backdrop-filter:blur(3px)}body.library-open{overflow:hidden}.library-head{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #33383a;padding-bottom:22px}.library-head p{font:500 8px DM Mono;color:var(--lime);letter-spacing:.15em;margin:0 0 6px}.library-head h2{font:800 34px Manrope;margin:0}.library-head button{border:1px solid #51565a;background:transparent;color:white;width:38px;height:38px;font-size:25px;cursor:pointer}.library-intro{color:#91958f;font-size:12px;line-height:1.6;margin:22px 0}.library-index{display:grid;gap:9px;overflow:auto;padding-right:4px}.library-song{width:100%;min-height:83px;border:1px solid #303537;background:#171b1e;color:#f5f2ea;display:grid;grid-template-columns:42px 1fr auto;align-items:center;text-align:left;padding:11px;gap:10px;cursor:pointer;transition:.18s}.library-song:hover,.library-song.active{border-color:var(--lime);background:rgba(216,255,54,.08);transform:translateX(3px)}.library-number{font:500 11px DM Mono;color:var(--pink)}.library-song-copy b,.library-song-copy small{display:block}.library-song-copy b{font:700 16px Manrope}.library-song-copy small{font:8px DM Mono;color:#8f948e;margin-top:6px}.library-play{font:500 7px DM Mono;color:var(--lime);letter-spacing:.1em}.library-empty{font:10px DM Mono;color:#868a85;border:1px dashed #3b4042;padding:20px}.library-foot{margin-top:auto;border-top:1px solid #33383a;padding-top:20px;display:grid;gap:7px}.library-foot span{font:500 9px DM Mono;color:var(--lime);letter-spacing:.14em}.library-foot small{color:#777c77;font-size:9px;line-height:1.5}.topbar .library-btn{margin-right:14px}.brand{margin-right:auto}.top-actions{margin-left:0}
@media(max-width:600px){.song-library{padding:24px 20px}.library-song{grid-template-columns:34px 1fr}.library-play{display:none}.topbar .library-btn{margin-right:9px}.brand b{display:none}}
.rhythm-lane>button:disabled{color:var(--orange);border-color:var(--orange);cursor:default}.strum-step.finger-pick .arrow{width:auto;min-width:30px;height:28px;padding:0 5px;border:1px solid var(--orange);border-radius:14px;display:grid;place-items:center;color:var(--orange)!important;font:700 11px DM Mono}.strum-step.finger-pick .role{color:var(--orange);font-weight:700}
.lyrics-card{margin:16px 0 0 40px;border:1px solid #35393a;background:#14181a}.lyrics-card summary{list-style:none;min-height:48px;display:flex;justify-content:space-between;align-items:center;padding:0 15px;cursor:pointer}.lyrics-card summary::-webkit-details-marker{display:none}.lyrics-card summary span{font:500 8px DM Mono;color:var(--lime);letter-spacing:.13em}.lyrics-card summary b{font:500 8px DM Mono;color:var(--orange);letter-spacing:.08em}.lyrics-card summary:after{content:'+';font:20px Manrope;color:#848983;margin-left:12px}.lyrics-card[open] summary:after{content:'−'}.lyrics-body{border-top:1px solid #35393a;padding:18px 16px}.lyrics-sections{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.lyrics-sections span{border:1px solid #454b4d;color:#aeb2ac;padding:5px 8px;font:8px DM Mono}.lyrics-body pre{white-space:pre-wrap;color:#b8bbb5;font:11px/1.8 DM Mono;margin:0;max-width:720px}.lyrics-body a{display:inline-block;margin-top:15px;color:var(--lime);font:500 8px DM Mono;letter-spacing:.09em;text-decoration:none;border-bottom:1px solid var(--lime);padding-bottom:3px}
@media(max-width:600px){.lyrics-card{margin-left:25px}.lyrics-card summary{align-items:flex-start;flex-direction:column;justify-content:center;gap:5px}.lyrics-card summary:after{position:absolute;right:32px}}
.live-lyrics{margin:10px 0 14px 40px;padding:15px 18px;border-left:3px solid var(--pink);background:linear-gradient(90deg,rgba(255,78,145,.13),rgba(255,78,145,.025));display:grid;grid-template-columns:minmax(80px,.7fr) minmax(220px,1.6fr) minmax(80px,.7fr);align-items:center;gap:16px;position:relative}.live-lyrics[hidden]{display:none}.live-lyrics small{position:absolute;top:7px;left:18px;font:500 7px DM Mono;color:var(--pink);letter-spacing:.13em}.live-lyrics b{padding-top:9px;font:700 18px/1.35 Manrope;color:white;text-align:center}.live-lyrics>span{padding-top:9px;font:9px/1.4 DM Mono;color:#727771;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-lyrics>span:last-child{text-align:right}.tab-event.lyric-start:after{content:'♪';position:absolute;right:5px;top:4px;color:var(--orange);font:700 8px DM Mono}.lyric-mark{position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);background:var(--orange);color:var(--ink);padding:1px 4px;font:700 6px DM Mono;letter-spacing:.06em}
@media(max-width:600px){.live-lyrics{margin-left:25px;grid-template-columns:1fr}.live-lyrics>span{display:none}.live-lyrics b{text-align:left;font-size:15px}}
.skip-link{position:fixed;z-index:100;top:10px;left:10px;padding:10px 14px;background:var(--lime);color:var(--ink);font:700 11px DM Mono;text-decoration:none;transform:translateY(-150%);transition:transform .15s}.skip-link:focus{transform:translateY(0)}
.upload-card input{display:block!important;position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.upload-card:focus-within{outline:3px solid var(--purple);outline-offset:4px}
.library-search{display:grid;gap:7px;margin:0 0 16px}.library-search span{font:500 8px DM Mono;color:#8c918b;letter-spacing:.12em}.library-search input{width:100%;height:42px;border:1px solid #3b4143;background:#171b1e;color:white;padding:0 12px;font:12px Manrope;outline:none}.library-search input::placeholder{color:#6f7470}.library-search input:focus{border-color:var(--lime);box-shadow:0 0 0 2px rgba(216,255,54,.15)}.library-song:disabled{opacity:.5;cursor:wait;transform:none}.library-index{scrollbar-color:#4c524f transparent;scrollbar-width:thin}
.timeline{scroll-snap-type:x proximity;overscroll-behavior-x:contain}.tab-event{scroll-snap-align:center}.transport-btn{width:42px;height:42px}.toast{z-index:70;max-width:min(390px,calc(100vw - 32px))}
:where(button,a,input,summary,[tabindex]):focus-visible{outline:3px solid var(--cyan);outline-offset:3px}.player-card :where(button,a,input,summary):focus-visible,.song-library :where(button,a,input):focus-visible{outline-color:var(--lime)}
@media(max-width:600px){.hero{padding-top:34px}.upload-card{padding:17px}.transport{gap:7px}.play-btn{width:58px;height:58px}.song-title{min-width:0}.song-title h2,.song-title>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-head{min-width:0}.cover-art{flex:0 0 58px;width:58px;height:58px}.toast{right:16px;bottom:16px}.library-intro{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.note-marker{transition:none}.tab-event.active{transform:none}}
