:root{color:#171a28;background:#fff9f3;font-family:Manrope,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--red: #ef1017;--red-dark: #df0811;--ink: #161827;--muted: #828898;--paper: #fff9f3;--paper-warm: #fff2e9}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}html,body,#root{width:100%;height:100%;overflow:hidden;overscroll-behavior:none;touch-action:manipulation}body{margin:0;min-width:320px;height:100%;background:var(--paper)}img,svg{pointer-events:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}input,textarea{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}button{font:inherit;touch-action:manipulation}svg{display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{height:100%;min-height:100dvh;max-height:100dvh;overflow:hidden;display:grid;place-items:stretch;padding:0;background:var(--paper)}.library-screen{position:relative;isolation:isolate;width:100%;height:100%;min-height:100dvh;max-height:100dvh;overflow:hidden;display:flex;flex-direction:column;padding:env(safe-area-inset-top) 0 max(0px,env(safe-area-inset-bottom));background:var(--paper)}.library-header{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:9px;padding:11px 25px 0}.mini-logo-button,.icon-button,.featured-card button,.song-row button,.song-main-button,.detail-actions button,.bottom-nav button,.category-card,.section-heading-row button{border:0;background:transparent;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.mini-logo-button{width:39px;height:48px;padding:0;display:grid;place-items:center;cursor:default}.mini-logo-button img{width:32px;height:45px;object-fit:contain}.search-box{height:40px;min-width:0;display:grid;grid-template-columns:20px 1fr;align-items:center;gap:10px;padding:0 14px;border-radius:999px;color:#7d828d;background:#edf0f2;box-shadow:none}.search-box svg{width:20px;height:20px}.search-box input{width:100%;min-width:0;border:0;outline:0;padding:0;color:#222532;background:transparent;font-size:16px;font-weight:600}.search-box input::placeholder{color:#9ca0a9;opacity:1}.icon-button{width:36px;height:36px;display:grid;place-items:center;color:#22242d}.icon-button svg{width:24px;height:24px}.library-content{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;padding:21px 26px 90px;scrollbar-width:none}.library-content::-webkit-scrollbar{display:none}.detail-content{padding:9px 14px 102px}.library-section+.library-section{margin-top:23px}.library-section h2{margin:0 0 14px;color:#20222d;font-family:Manrope,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:20px;line-height:1;font-weight:800;letter-spacing:0}.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.category-card{position:relative;min-height:165px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;text-align:left;padding:14px 15px 17px;border-radius:13px;box-shadow:none}.sevillanas-card{background:#ffe8e7}.fandangos-card{background:#f4eddf}.salves-card{grid-column:1 / -1;min-height:142px;justify-content:center;padding-left:160px;background:#fff0ef}.category-title{position:relative;z-index:1;color:#222431;font-family:Manrope,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:18px;line-height:1.05;font-weight:800;margin-top:72px}.category-action{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px;margin-top:9px;color:#5f6470;font-size:13px;font-weight:800}.category-action svg,.featured-card button svg,.bottom-nav svg,.song-row button svg{color:currentColor}.category-action svg{width:17px;height:17px}.category-art{position:absolute;object-fit:contain;pointer-events:none}.sevillanas-art{top:10px;left:18px;width:91px;height:86px}.fandangos-art{top:10px;left:23px;width:112px;height:86px}.salves-art{top:50%;left:16px;width:126px;height:120px;transform:translateY(-50%);mix-blend-mode:multiply}.featured-section{margin-top:24px}.featured-card{position:relative;min-height:130px;display:grid;grid-template-columns:70px 1fr;gap:9px;align-items:center;padding:14px 17px;border:0;border-radius:14px;background:#fffdfb;box-shadow:none}.featured-heart{width:58px;height:58px;display:grid;place-items:center}.featured-heart img{width:100%;height:100%;object-fit:contain}.featured-copy span{display:block;margin-bottom:3px;color:#ef4548;font-size:10px;line-height:1;font-weight:900;text-transform:uppercase}.featured-copy h3{max-width:178px;margin:0;color:#252733;font-family:Manrope,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15.5px;line-height:1.16;font-weight:800}.featured-copy p{max-width:166px;margin:9px 0 0;color:#6f7481;font-size:12px;line-height:1.38;font-weight:800}.featured-card button{position:absolute;top:15px;right:16px;width:38px;height:38px;display:grid;place-items:center;align-self:start;border-radius:999px;color:#20242c;background:#ffffffb8;box-shadow:0 6px 14px #1f222c14,inset 0 1px #fffffff5}.featured-card button svg{width:20px;height:20px}.featured-card strong{position:absolute;right:17px;bottom:15px;padding:6px 9px 5px;border-radius:7px;color:#ef4548;background:#ef101714;font-size:9.5px;line-height:1;font-weight:900}.section-heading-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.section-heading-row h2{margin:0}.section-heading-row button{color:var(--red);font-size:14px;font-weight:900}.list-page{min-height:calc(100svh - 154px)}.list-page-header{display:grid;gap:15px;margin-bottom:22px}.list-page-header.compact{grid-template-columns:1fr auto;align-items:end;gap:12px}.list-page-header h2{margin:0}.search-heading-row{display:flex;align-items:end;justify-content:space-between;gap:12px}.search-heading-row span{flex:0 0 auto;color:#858995;font-size:12px;line-height:1;font-weight:800}.list-page-header>span{color:#858995;font-size:12px;font-weight:800}.filter-pills{display:flex;align-items:center;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.filter-pills::-webkit-scrollbar{display:none}.filter-pills button{flex:0 0 auto;min-height:34px;padding:0 14px;border:0;border-radius:999px;color:#6f7480;background:#f1f2f3;font-size:12px;font-weight:900;cursor:pointer;-webkit-tap-highlight-color:transparent}.filter-pills button.active{color:#fff;background:var(--red)}.song-list{display:grid;gap:20px}.song-row{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:12px}.song-main-button{width:100%;min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;justify-items:stretch;gap:12px;padding:0;text-align:left}.song-icon{width:36px;height:36px;justify-self:start;display:grid;place-items:center;border-radius:8px;color:#ef4548;background:#fff0ee}.song-icon svg{width:20px;height:20px}.song-copy{min-width:0;justify-self:stretch}.song-title-line{min-width:0;display:flex;align-items:center;gap:8px}.song-copy h3{min-width:0;margin:0;overflow:hidden;color:#2a2d38;font-size:12.8px;line-height:1.25;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.song-copy p{margin:5px 0 0;overflow:hidden;color:#777b87;font-size:12px;line-height:1.2;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.song-copy p span{display:inline-block;margin-right:7px;padding:3px 5px 2px;border-radius:5px;color:#ef4548;background:#ef101713;font-size:8px;line-height:1;font-weight:900;text-transform:uppercase;vertical-align:1px}.song-row button{display:grid;place-items:center;padding:0;color:#696d76}.song-row .song-main-button{place-items:center stretch;color:inherit}.song-row button:first-of-type svg{width:23px;height:23px}.song-row .favorite-button.active{color:var(--red)}.author-list{display:grid;gap:17px}.author-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px}.author-icon{color:#ef4548}.author-copy{min-width:0}.author-copy h3{margin:0;overflow:hidden;color:#2a2d38;font-size:13px;line-height:1.25;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.author-copy p{margin:5px 0 0;overflow:hidden;color:#777b87;font-size:12px;line-height:1.2;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.author-row strong{min-width:30px;padding:5px 8px 4px;border-radius:999px;color:#ef4548;background:#ef101713;font-size:11px;line-height:1;font-weight:900;text-align:center}.empty-state{min-height:calc(100svh - 278px);display:grid;justify-items:center;align-items:center;align-content:center;gap:12px;padding:30px 24px 96px;text-align:center;border-radius:0;background:transparent;border:0}.empty-state .song-icon{width:42px;height:42px;justify-self:center}.empty-state h3{margin:2px 0 0;color:#252733;font-size:16px;line-height:1.2;font-weight:900}.empty-state p{max-width:260px;margin:0;color:#777b87;font-size:12.5px;line-height:1.45;font-weight:700}.song-detail{max-width:520px;margin:0 auto;padding-bottom:18px}.detail-actions{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.detail-right-actions{display:flex;align-items:center;gap:13px}.detail-icon-button{width:34px;height:34px;display:grid;place-items:center;padding:0;color:#22242d;background:transparent}.detail-icon-button svg{width:24px;height:24px}.detail-favorite,.detail-favorite.active{color:var(--red)}.detail-favorite svg{width:28px;height:28px}.song-detail-header{max-width:320px;margin:0 auto 24px;text-align:center}.song-detail-header>span{display:inline-block;margin-bottom:14px;padding:7px 18px 6px;border:1px solid rgba(239,16,23,.34);border-radius:999px;color:var(--red);background:#ef101709;font-size:11px;line-height:1;font-weight:900;text-transform:uppercase}.song-detail-header h2{margin:0;color:#20222d;font-size:29px;line-height:1.08;font-weight:900;letter-spacing:0}.song-detail-header p{margin:9px 0 0;color:#777b87;font-size:14px;line-height:1.35;font-weight:800}.part-tabs{display:grid;grid-template-columns:repeat(var(--part-count, 4),minmax(0,1fr));margin:0 0 24px;gap:0;padding:0;overflow:hidden;border:1px solid rgba(32,34,45,.1);border-radius:10px;background:#ffffffb8}.part-tabs button{position:relative;min-width:0;min-height:35px;border:0;border-radius:0;color:#777b87;background:transparent;font-size:12px;line-height:1;font-weight:900;cursor:pointer;-webkit-tap-highlight-color:transparent}.part-tabs button+button:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:1px;background:#20222d17}.part-tabs button.active{z-index:1;color:var(--red);background:#fff;border-radius:9px;box-shadow:inset 0 0 0 1px #ef101761}.part-tabs button.active:before,.part-tabs button.active+button:before{opacity:0}.song-notes{margin-bottom:18px;padding:11px 13px;border-radius:11px;color:#6f7481;background:#ef10170e;font-size:12px;line-height:1.4;font-weight:800}.song-notes p{margin:0}.lyrics-stack{display:grid;gap:22px}.lyric-section{display:grid;gap:10px;scroll-margin-top:14px}.lyric-section.chorus{gap:9px}.lyric-heading{display:flex;align-items:end;justify-content:space-between;gap:12px}.lyric-heading h3{position:relative;margin:0;color:var(--red);font-size:18px;line-height:1;font-weight:900;text-transform:none}.lyric-section.chorus .lyric-heading h3:after{content:"";display:block;width:34px;height:2px;margin-top:8px;border-radius:999px;background:var(--red);opacity:.8}.lyric-heading img{width:27px;height:35px;object-fit:contain;opacity:.18}.lyric-section>div:last-child{padding:20px 21px;border:1px solid rgba(32,34,45,.07);border-radius:13px;background:#ffffffa3;box-shadow:0 10px 22px #2f27220e,inset 0 1px #ffffffb8}.lyric-section.chorus>div:last-child{border-color:#ef10171a}.plain-lyric-section>div:last-child{border-color:#ef101714}.lyric-section p{margin:0;color:#2a2d38;font-size:15.5px;line-height:1.58;font-weight:650;letter-spacing:0}.lyric-section p+p{margin-top:1px}.lyric-stanza+.lyric-stanza{margin-top:20px}.bottom-nav{position:absolute;left:0;right:0;bottom:0;z-index:5;height:72px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;padding:7px 13px max(7px,env(safe-area-inset-bottom));border-top:1px solid rgba(32,34,45,.08);background:#fffdfbeb;box-shadow:0 -8px 18px #26201c0b;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bottom-nav button{display:grid;place-items:center;gap:5px;padding:0;color:#737782;font-size:11px;line-height:1;font-weight:800}.bottom-nav svg{width:24px;height:24px}.bottom-nav .active{color:var(--red)}.install-prompt{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));background:#12131b75}.install-prompt-card{position:relative;width:min(100%,430px);max-height:calc(100dvh - max(20px,env(safe-area-inset-top)) - max(20px,env(safe-area-inset-bottom)));overflow:hidden;display:grid;grid-template-rows:minmax(0,1fr) auto;border-radius:20px;background:#fffaf5;box-shadow:0 20px 54px #12131b3d}.install-prompt-close{position:absolute;top:10px;right:10px;z-index:2;width:36px;height:36px;border:0;border-radius:999px;display:grid;place-items:center;color:#171a28;background:#ffffffe6;box-shadow:0 8px 20px #1f222c24;font-size:25px;line-height:1;font-weight:700;cursor:pointer}.install-prompt-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:#fffaf5}.install-prompt-scroll::-webkit-scrollbar{display:none}.install-prompt-scroll img{width:100%;height:auto;display:block}.install-prompt-dismiss{min-height:50px;border:0;border-top:1px solid rgba(23,26,40,.08);color:#5f6470;background:#fffaf5f5;font-size:13px;font-weight:800;cursor:pointer}.welcome-screen{position:relative;isolation:isolate;width:100%;height:100%;min-height:100dvh;max-height:100dvh;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:max(22px,env(safe-area-inset-top)) 34px max(38px,env(safe-area-inset-bottom));background:var(--paper)}.welcome-screen:after{content:none}.brand-lockup{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:clamp(70px,15svh,132px)}.virgen-logo{width:clamp(132px,40vw,164px);aspect-ratio:763 / 1078;object-fit:contain;display:block;margin-bottom:clamp(26px,4.7svh,38px)}h1{margin:0;display:flex;flex-direction:column;align-items:center;line-height:.91;letter-spacing:0}.title-primary,.title-secondary{font-family:Manrope,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:800}.title-primary{color:var(--ink);font-size:clamp(30px,7.8vw,36px)}.title-secondary{color:var(--red);font-size:clamp(34px,8.9vw,40px);margin-top:7px}.title-rule{width:38px;height:11px;display:flex;align-items:center;justify-content:center;margin-top:clamp(18px,3svh,25px);color:var(--red)}.title-rule:before,.title-rule:after{content:"";width:14px;height:2px;border-radius:999px;background:currentColor;opacity:.68}.title-rule span{width:6px;height:6px;margin:0 4px;border-radius:999px;background:currentColor;flex:0 0 auto}.brand-lockup p{min-height:53px;max-width:318px;margin:clamp(20px,3.7svh,30px) auto 0;color:var(--muted);font-size:clamp(15.5px,4.15vw,18px);font-weight:500;line-height:1.48;letter-spacing:0}.intro-copy{animation:copy-fade .42s ease both}.brand-lockup p span{display:block}.lower-content{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;padding-bottom:clamp(46px,7.2svh,68px)}.shrine-silhouette{position:absolute;left:50%;bottom:48px;width:min(214vw,830px);max-width:none;transform:translate(-50%);z-index:0;opacity:.68;pointer-events:none}.start-button{position:relative;z-index:1;width:min(100%,304px);min-height:59px;border:0;border-radius:15px;display:grid;grid-template-columns:1fr 24px;align-items:center;padding:0 22px 0 46px;color:#fff;background:var(--red);box-shadow:0 15px 25px #ef101729,inset 0 2px #ffffff24;cursor:pointer;-webkit-tap-highlight-color:transparent}.start-button span{justify-self:center;font-size:clamp(18px,4.7vw,20px);line-height:1;font-weight:700}.start-button svg{width:23px;height:23px;justify-self:end}.start-button:focus-visible{outline:4px solid rgba(239,16,23,.24);outline-offset:4px}.start-button:active{transform:translateY(1px)}.pager{display:flex;align-items:center;gap:16px;margin-top:clamp(17px,2.8svh,25px)}.pager-dot{width:8px;height:8px;border-radius:999px;background:#e2e5e7}.pager-dot.active{width:14px;background:var(--red)}@keyframes copy-fade{0%{opacity:.78;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.intro-copy{animation:none}}@media(max-height:720px){.welcome-screen{padding-left:27px;padding-right:27px}.brand-lockup{padding-top:46px}.virgen-logo{width:116px;margin-bottom:20px}.title-primary{font-size:35px}.title-secondary{font-size:38px;margin-top:8px}.brand-lockup p{font-size:15.5px;margin-top:17px}.title-rule{margin-top:16px}.start-button{min-height:56px}.pager{margin-top:15px}.lower-content{padding-bottom:36px}}@media(min-width:820px){.app-shell{min-height:100vh;background:var(--paper)}.welcome-screen{min-height:100vh;padding:54px clamp(52px,7vw,118px) 62px;display:grid;grid-template-columns:minmax(360px,520px) minmax(360px,1fr);grid-template-rows:1fr auto;align-items:center;column-gap:clamp(44px,7vw,120px);background:var(--paper)}.welcome-screen:after{content:none}.brand-lockup{width:min(100%,520px);align-items:flex-start;justify-self:end;text-align:left;padding-top:0}.virgen-logo{width:clamp(150px,13vw,196px);margin:0 0 clamp(28px,3.8vh,42px)}h1{align-items:flex-start}.title-primary{font-size:clamp(44px,4.7vw,72px)}.title-secondary{font-size:clamp(52px,5.5vw,84px);margin-top:11px}.title-rule{justify-content:flex-start;margin-top:28px}.brand-lockup p{max-width:438px;min-height:70px;margin:24px 0 0;font-size:clamp(18px,1.35vw,22px);line-height:1.55}.pager{margin-top:24px}.lower-content{width:min(100%,520px);grid-column:1;justify-self:end;align-items:flex-start;padding-bottom:0}.start-button{width:min(100%,342px);min-height:62px;border-radius:16px;padding:0 24px 0 52px}.start-button span{font-size:20px}.shrine-silhouette{left:auto;right:-13vw;bottom:0;width:min(82vw,1180px);transform:none;opacity:.7}}@media(min-width:1180px){.welcome-screen{grid-template-columns:minmax(420px,560px) minmax(480px,1fr)}.brand-lockup,.lower-content{justify-self:center}}@media(min-width:1100px){.library-screen{--desktop-sidebar-width: clamp(210px, 17vw, 276px);--desktop-content-width: min(calc(100vw - var(--desktop-sidebar-width) - 56px), 1160px);width:100%;min-height:100vh;max-height:100vh;display:grid;grid-template-columns:var(--desktop-sidebar-width) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);padding:0;background:var(--paper)}.library-header{grid-column:2;grid-row:1;width:var(--desktop-content-width);margin:0 auto;display:grid;grid-template-columns:minmax(360px,620px);justify-content:center;gap:18px;padding:24px clamp(34px,5vw,76px)}.library-header .mini-logo-button{display:none}.search-box{height:48px;grid-template-columns:24px 1fr;gap:12px;padding:0 18px;background:#eef0f1}.search-box svg{width:24px;height:24px}.search-box input{font-size:14px}.icon-button{width:44px;height:48px}.icon-button svg{width:27px;height:27px}.bottom-nav{position:sticky;grid-column:1;grid-row:1 / 3;top:0;left:auto;z-index:2;width:100%;height:100vh;max-height:none;display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:34px clamp(18px,1.8vw,26px) 30px;border:0;border-right:1px solid rgba(179,128,89,.16);border-radius:0;background:var(--paper);box-shadow:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:none;overflow:hidden}.bottom-nav:before{content:"Canta Montemayor";min-height:68px;display:flex;align-items:center;padding:0 4px 0 58px;margin-bottom:0;color:#20222d;background:url(/assets/virgen-montemayor-logo.png) 4px 50% / 40px 57px no-repeat;font-size:clamp(15px,1.2vw,17px);line-height:1.1;font-weight:900}.bottom-nav:after{content:"Para quienes viven la devoción a la Virgen de Montemayor.";margin-top:auto;padding:17px 9px 0;border-top:1px solid rgba(49,39,32,.1);color:#8a7f7a;font-size:clamp(12px,1vw,13px);line-height:1.45;font-weight:700}.bottom-nav button{position:relative;z-index:1;min-height:56px;display:grid;grid-template-columns:30px minmax(0,1fr);justify-items:start;align-items:center;gap:12px;padding:0 clamp(13px,1.3vw,18px);border-radius:16px;font-size:clamp(13.5px,1.05vw,15px);transition:background-color .18s ease,color .18s ease,transform .18s ease}.bottom-nav button:nth-of-type(1){margin-top:auto}.bottom-nav button:nth-of-type(4){margin-bottom:auto}.bottom-nav button:hover{color:#252733;background:#20222d0b}.bottom-nav button:focus-visible{outline:none}.bottom-nav button:active{transform:translateY(1px)}.bottom-nav .active{color:var(--red);background:#ef101716}.bottom-nav svg{width:25px;height:25px}.library-content{grid-column:2;grid-row:2;width:var(--desktop-content-width);margin:0 auto;padding:34px clamp(34px,5vw,76px) 58px}.detail-content{grid-row:1 / 3;width:min(var(--desktop-content-width),1060px);padding-top:36px}.library-section h2,.list-page-header h2,.section-heading-row h2{font-size:30px;line-height:1.05}.library-section+.library-section{margin-top:34px}.library-content>.library-section:first-child .category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.category-card{min-height:clamp(178px,16vw,210px);display:grid;grid-template-columns:minmax(92px,.38fr) minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:clamp(12px,1.3vw,20px);padding:clamp(22px,2.2vw,26px) clamp(22px,2.7vw,32px);border-radius:18px;transition:transform .18s ease,box-shadow .18s ease}.category-card:hover{transform:translateY(-2px);box-shadow:0 18px 36px #31272012}.category-title{grid-column:2;align-self:end;margin-top:0;font-size:clamp(22px,2vw,28px);word-break:normal;overflow-wrap:anywhere}.category-action{grid-column:2;align-self:start;margin-top:13px;font-size:clamp(14px,1.25vw,16px)}.category-action svg{width:21px;height:21px}.sevillanas-art{position:static;grid-column:1;grid-row:1 / 3;align-self:center;justify-self:center;width:clamp(94px,9vw,130px);height:clamp(90px,8vw,116px)}.fandangos-art{position:static;grid-column:1;grid-row:1 / 3;align-self:center;justify-self:center;width:clamp(106px,10vw,146px);height:clamp(90px,8.4vw,116px)}.salves-card{grid-column:auto;min-height:clamp(178px,16vw,210px);padding-left:clamp(22px,2.7vw,32px)}.salves-art{position:static;grid-column:1;grid-row:1 / 3;align-self:center;justify-self:center;width:clamp(96px,9vw,132px);height:clamp(96px,9vw,132px);transform:none}.featured-card{min-height:190px;grid-template-columns:clamp(74px,7vw,100px) minmax(0,1fr);gap:28px;padding:28px clamp(104px,9vw,140px) 28px 34px;border-radius:18px}.featured-heart{width:82px;height:82px}.featured-copy span{font-size:12px}.featured-copy h3{max-width:min(520px,100%);font-size:clamp(22px,2.25vw,28px);line-height:1.1}.featured-copy p{max-width:min(420px,100%);margin-top:12px;font-size:15px}.featured-card button{top:28px;right:30px;width:48px;height:48px}.featured-card strong{right:30px;bottom:28px;padding:8px 12px 7px;font-size:12px}.section-heading-row{margin-bottom:20px}.section-heading-row button{font-size:15px}.list-page{min-height:auto}.list-page-header{gap:22px;margin-bottom:28px}.list-page-header.compact{align-items:center}.list-page-header>span,.search-heading-row span{font-size:14px}.filter-pills{gap:10px}.filter-pills button{min-height:42px;padding:0 20px;font-size:14px;transition:background-color .18s ease,color .18s ease,transform .18s ease}.filter-pills button:active{transform:translateY(1px)}.song-list,.author-list{gap:0}.popular-section .song-list,.list-page .song-list,.author-list{border-top:1px solid rgba(32,34,45,.07)}.song-row,.author-row{min-height:82px;padding:0;border-bottom:1px solid rgba(32,34,45,.07)}.song-row{grid-template-columns:minmax(0,1fr) 48px;gap:18px}.song-main-button{grid-template-columns:48px minmax(0,1fr);gap:16px;min-height:82px}.song-icon{width:42px;height:42px;border-radius:10px;background:#ef101711}.song-icon svg{width:23px;height:23px}.song-copy h3,.author-copy h3{font-size:16px}.song-copy p,.author-copy p{margin-top:6px;font-size:14px}.song-copy p span{margin-right:9px;padding:4px 7px 3px;font-size:9px}.song-row button:first-of-type svg{width:27px;height:27px}.song-row .favorite-button{width:44px;height:44px;justify-self:end}.song-row .favorite-button svg{width:30px;height:30px}.author-row{grid-template-columns:48px minmax(0,1fr) auto;gap:16px}.author-row strong{min-width:36px;padding:7px 10px 6px;font-size:12px}.empty-state{min-height:440px;padding:54px 24px}.empty-state .song-icon{width:54px;height:54px}.empty-state h3{font-size:22px}.empty-state p{max-width:370px;font-size:15px}.song-detail{max-width:900px}.detail-actions{margin-bottom:10px}.song-detail-header{max-width:640px;margin-bottom:34px}.song-detail-header>span{margin-bottom:18px;padding:9px 22px 8px;font-size:12px}.song-detail-header h2{font-size:clamp(42px,4.2vw,60px);line-height:1}.song-detail-header p{margin-top:14px;font-size:18px}.part-tabs{max-width:760px;margin:0 auto 34px;border-radius:13px}.part-tabs button{min-height:46px;font-size:14px}.part-tabs button.active{border-radius:12px}.lyrics-stack{gap:30px}.lyric-heading h3{font-size:24px}.lyric-heading img{width:33px;height:43px}.lyric-section>div:last-child{padding:28px 34px;border-radius:16px}.lyric-section p{font-size:18px;line-height:1.68}}@media(min-width:1280px){.library-screen{--desktop-sidebar-width: 276px;--desktop-content-width: min(calc(100vw - var(--desktop-sidebar-width) - 96px), 1320px);grid-template-columns:var(--desktop-sidebar-width) minmax(0,1fr)}.library-content>.library-section:first-child .category-grid{grid-template-columns:repeat(3,minmax(260px,1fr))}}
