:root{--ink:#342933;--muted:#81727e;--wine:#9e6f87;--wine2:#bd8da4;--cream:#f7f1f4;--paper:#fffafd;--rose:#ead9e3;--gold:#d8bfae;--sage:#b8c6bf;--line:#e8dee6;--shadow:0 18px 50px #644d6417}
body{background:linear-gradient(145deg,#fff9fc 0,#f6eff4 48%,#eee9f3 100%)}
.petals{opacity:.65;background:radial-gradient(circle at 91% 14%,#c7abd533 0 2px,transparent 3px),radial-gradient(circle at 82% 24%,#d6a9bd2b 0 3px,transparent 4px);background-size:70px 80px,90px 95px}
.sidebar{background:#fffafde8}.nav-item:hover,.nav-item.active{background:linear-gradient(110deg,#eee1e9,#e5def0);color:#81566e}.primary{box-shadow:0 8px 20px #9e6f8738}.primary:hover{background:#875c72}.music-hero{background:linear-gradient(130deg,#74627f,#b17d98)}
.music-float{position:fixed;right:24px;bottom:22px;z-index:40;border:1px solid #ffffff88;background:#3f3444e8;color:#fff;backdrop-filter:blur(16px);box-shadow:0 14px 35px #3a25354d;border-radius:18px;padding:10px 16px 10px 12px;display:grid;grid-template-columns:33px auto;grid-template-rows:auto auto;column-gap:10px;text-align:left;cursor:pointer}.music-float b{font-size:11px;align-self:end}.music-float small{opacity:.64;font-size:9px}.music-bars{grid-row:1/3;display:flex;align-items:center;justify-content:center;gap:3px;width:33px;height:33px;border-radius:50%;background:linear-gradient(145deg,#c59ab1,#8e779b)}.music-bars i{display:block;width:2px;height:12px;background:white;border-radius:3px;animation:beat .8s ease-in-out infinite alternate}.music-bars i:nth-child(2){height:18px;animation-delay:.25s}.music-bars i:nth-child(3){animation-delay:.5s}.music-float.paused .music-bars i{animation-play-state:paused;height:4px}@keyframes beat{to{height:5px}}
@media(max-width:560px){.music-float{right:12px;bottom:12px}.music-float b,.music-float small{display:none}.music-float{grid-template-columns:33px;padding:7px}}
.nested-albums{margin:12px 0 20px}.album-breadcrumb{display:flex;align-items:center;gap:5px;margin-bottom:13px}.album-breadcrumb button{border:0;background:none;color:var(--wine);font:600 12px "DM Sans";padding:4px;cursor:pointer}.album-folders{display:flex;gap:12px;overflow-x:auto;padding:3px 2px 10px}.folder-card{min-width:170px;border:1px solid var(--line);background:linear-gradient(145deg,#fffafd,#f2eaf1);border-radius:16px;padding:15px;text-align:left;color:var(--ink);cursor:pointer;box-shadow:0 7px 20px #6d526010;transition:.2s}.folder-card:hover{transform:translateY(-2px);border-color:#c9aebd}.folder-card>span{display:grid;place-items:center;width:32px;height:27px;border-radius:8px 8px 10px 10px;background:var(--rose);color:var(--wine);margin-bottom:12px}.folder-card b,.folder-card small{display:block}.folder-card small{color:var(--muted);font-size:10px;margin-top:5px}.folder-card.add-folder{border-style:dashed;background:transparent}
.music-actions{display:flex;gap:10px;align-items:center}.music-import{color:var(--wine);background:#fffafd}.song-play{width:34px;height:34px;border-radius:50%!important;background:var(--rose)!important;color:var(--wine)!important;font-size:12px}.song.is-playing{background:#f4eaf0;border-radius:12px}.song.is-playing b{color:var(--wine)}
@media(max-width:560px){.music-actions{width:100%;flex-wrap:wrap}}
.folder-view-head{display:flex;align-items:center;gap:22px;margin:12px 0 18px;padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(115deg,#fffafd,#eee5f1)}.folder-view-head>button{border:0;background:var(--wine);color:#fff;border-radius:999px;padding:10px 15px;cursor:pointer}.folder-view-head small{color:var(--wine);font-size:9px;letter-spacing:1.8px}.folder-view-head h2{margin:3px 0 0;font-size:27px}.folder-card small{line-height:1.4}@media(max-width:560px){.folder-view-head{align-items:flex-start;flex-direction:column-reverse;gap:12px}}
.view-switch{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px;background:#fffafd}.view-switch button{border:0;background:transparent;color:var(--muted);border-radius:999px;padding:7px 12px;cursor:pointer;white-space:nowrap}.view-switch button.active{background:var(--wine);color:#fff}.ideas-grid.book-mode{display:block}.love-book{position:relative;display:grid;grid-template-columns:1fr 1fr;max-width:1050px;min-height:520px;margin:20px auto 0;filter:drop-shadow(0 24px 32px #59455228);perspective:1200px}.book-cover-note{position:absolute;z-index:3;left:50%;top:-28px;transform:translateX(-50%);background:var(--wine);color:#fff;border-radius:999px;padding:8px 18px;font:italic 14px "DM Serif Display";white-space:nowrap}.book-cover-note span{color:#f2cbdc;margin:0 4px}.book-page{position:relative;padding:48px 38px 45px;background-color:#fffaf0;background-image:linear-gradient(90deg,#9c75820b 1px,transparent 1px),linear-gradient(#9c75820b 1px,transparent 1px);background-size:22px 22px;border:1px solid #e3d7ce}.book-page.left{border-radius:20px 3px 3px 20px;box-shadow:inset -18px 0 28px #6d4f6012;transform:rotateY(1deg);transform-origin:right}.book-page.right{border-radius:3px 20px 20px 3px;box-shadow:inset 18px 0 28px #6d4f6012;transform:rotateY(-1deg);transform-origin:left}.book-page>small{display:block;text-align:center;color:var(--wine);font-size:9px;letter-spacing:1.7px;margin-bottom:22px}.book-page>em{position:absolute;bottom:15px;left:0;right:0;text-align:center;color:#aa9297;font:italic 13px "DM Serif Display"}.book-idea{display:flex;gap:10px;align-items:flex-start;min-height:70px;padding:11px 2px;border-bottom:1px solid #ddcfc6;cursor:pointer}.book-idea input{margin-top:4px;accent-color:var(--wine)}.book-idea span{font:18px/1.25 "DM Serif Display"}.book-idea span b{display:block;color:var(--wine);font:9px "DM Sans";letter-spacing:1.3px;margin-bottom:4px}.book-idea.done{opacity:.5}.book-idea.done span{text-decoration:line-through}.book-nav{display:flex;justify-content:center;align-items:center;gap:20px;margin:22px auto}.book-nav button{border:1px solid var(--line);background:#fffafd;color:var(--wine);border-radius:999px;padding:10px 16px;cursor:pointer}.book-nav button:disabled{opacity:.35;cursor:not-allowed}.book-nav span{font:12px "DM Sans";color:var(--muted)}@media(max-width:760px){.love-book{grid-template-columns:1fr}.book-page.left{border-radius:18px 18px 3px 3px;box-shadow:inset 0 -12px 25px #6d4f6012}.book-page.right{border-radius:3px 3px 18px 18px;box-shadow:inset 0 12px 25px #6d4f6012}.book-page{padding:42px 25px}.ideas-tools{gap:12px}.view-switch{width:auto}}
.folder-card.has-cover{position:relative;min-width:230px;height:170px;padding:0;overflow:hidden;border:0;background:#d9ccd4;color:#fff}.folder-card.has-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.folder-card.has-cover:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#2f2029d9)}.folder-card.has-cover div{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:15px}.folder-card.has-cover small{color:#f8edf3}.cover-button{border:1px solid #cdb2c0;background:#f7edf2;color:var(--wine);border-radius:11px;padding:11px;cursor:pointer;font:600 12px "DM Sans"}
/* Contraste independiente del tema y de la página detrás del diálogo. */
body #editPhotoDialog #setAlbumCover{background:#f7ecdf!important;color:#4a2b22!important;border-color:#956550;font-size:14px;min-height:44px;opacity:1}
body #editPhotoDialog #setAlbumCover:hover,
body #editPhotoDialog #setAlbumCover:focus-visible,
body #editPhotoDialog #setAlbumCover:active{background:#633329!important;color:#fffaf2!important}
body #editPhotoDialog #setAlbumCover:focus-visible{outline:3px solid #633329;outline-offset:3px}

/* Inicio rústico y apasionado */
body.home-active{background:
  radial-gradient(circle at 80% 15%,#a84d3538 0 12%,transparent 35%),
  radial-gradient(circle at 28% 72%,#7c252f4d 0 10%,transparent 35%),
  repeating-linear-gradient(100deg,#ffffff05 0 1px,transparent 1px 7px),
  linear-gradient(145deg,#2a1817 0%,#4b211f 48%,#271516 100%);color:#f5e6d5}
body.home-active .petals{opacity:.45;background:radial-gradient(circle at 90% 14%,#d8855c55 0 2px,transparent 3px),radial-gradient(circle at 82% 24%,#c74a5150 0 3px,transparent 4px);background-size:70px 80px,90px 95px}
body.home-active .sidebar{background:linear-gradient(180deg,#231513f2,#371b19f2);border-color:#8d5b493d;color:#f0dfce}
body.home-active .brand,body.home-active .nav-item{color:#d9c0ad}
body.home-active .nav-item:hover,body.home-active .nav-item.active{background:linear-gradient(110deg,#71332e,#8f3f35);color:#fff1dd}
body.home-active .sidebar-foot{border-color:#8d5b4960;color:#ead7c5}
body.home-active .sidebar-foot small,body.home-active .topbar{color:#c8aa96}
body.home-active .round{border-color:#a47762;background:#45221f;color:#efb18f}
body.home-active #inicio{color:#f7e7d6}
body.home-active #inicio .eyebrow{color:#e89b70}
body.home-active #inicio h1 i,body.home-active #inicio h2 i{color:#f09a78}
body.home-active #inicio .hero-copy>p{color:#d8bdac}
body.home-active #inicio .primary{background:linear-gradient(135deg,#a94137,#c26043);box-shadow:0 12px 30px #16080780}
body.home-active #inicio .primary:hover{background:linear-gradient(135deg,#bc4b3e,#d1714e)}
body.home-active #inicio .text-btn{color:#efb38f}
body.home-active #inicio .photo-card{background:#d5b48f;padding:11px 11px 28px;box-shadow:0 22px 55px #10060599}
body.home-active #inicio .photo-card small{color:#4a261f}
body.home-active #inicio .coast{background:linear-gradient(140deg,transparent 35%,#4a251f99),linear-gradient(#9d684f 55%,#c49264 56%)}
body.home-active #inicio .dinner{background:radial-gradient(circle at 50% 42%,#e7b772 0 8%,transparent 9%),linear-gradient(140deg,#321716,#9d4d35)}
body.home-active #inicio .scribble{color:#efab80}
body.home-active #inicio .memory{box-shadow:0 15px 35px #13070680;border:1px solid #b06c5050}
body.home-active #inicio .quote-card,body.home-active #inicio .next-card{background:linear-gradient(145deg,#4b2924,#321c1a);border-color:#a2644b55;color:#f2dfcd;box-shadow:0 18px 45px #16080766}
body.home-active #inicio .quote-card>span{color:#d87559}
body.home-active #inicio .quote-card small,body.home-active #inicio .next-card p{color:#cba995}
body.home-active .music-float{background:#391d1be8;border-color:#d4967366}

/* Paleta rústica en todas las demás pestañas */
body:not(.home-active){
  --ink:#f3dfcc;--muted:#c7a994;--wine:#e07a57;--wine2:#b85142;
  --cream:#2b1917;--paper:#3a211e;--rose:#613028;--gold:#9d6547;
  --sage:#59634d;--line:#704238;--shadow:0 18px 50px #12080773;
  color:var(--ink);background:
  radial-gradient(circle at 84% 12%,#a84d3530 0 12%,transparent 34%),
  repeating-linear-gradient(100deg,#ffffff04 0 1px,transparent 1px 8px),
  linear-gradient(145deg,#251614,#44231f 52%,#281716 100%)}
body:not(.home-active) .petals{opacity:.42;background:radial-gradient(circle at 91% 14%,#d8855c55 0 2px,transparent 3px),radial-gradient(circle at 82% 24%,#a8413e50 0 3px,transparent 4px);background-size:70px 80px,90px 95px}
body:not(.home-active) .sidebar{background:linear-gradient(180deg,#211311f5,#351a18f5);border-color:#704238;color:#f0ddca}
body:not(.home-active) .brand,body:not(.home-active) .nav-item{color:#d8baa4}
body:not(.home-active) .nav-item:hover,body:not(.home-active) .nav-item.active{background:linear-gradient(110deg,#70322c,#934235);color:#fff1dd}
body:not(.home-active) .sidebar-foot{border-color:#704238;color:#ead6c3}
body:not(.home-active) .sidebar-foot small,body:not(.home-active) .topbar{color:#c6a58f}
body:not(.home-active) .round{border-color:#8c5b4b;background:#42221e;color:#eda17d}
body:not(.home-active) h1 i,body:not(.home-active) h2 i,body:not(.home-active) .eyebrow{color:#ed966f}
body:not(.home-active) .primary{background:linear-gradient(135deg,#a33e35,#c25d42);box-shadow:0 10px 25px #16080770}
body:not(.home-active) .primary:hover{background:linear-gradient(135deg,#b94a3d,#d16c4b)}
body:not(.home-active) .text-btn,body:not(.home-active) .album-breadcrumb button{color:#efaa85}
body:not(.home-active) .album-tabs button,body:not(.home-active) .filters button{background:#3a211e;border-color:#704238;color:#c9ad98}
body:not(.home-active) .album-tabs button.active,body:not(.home-active) .filters button.active{background:#a34438;border-color:#c46247;color:#fff3e4}
body:not(.home-active) .folder-card{background:linear-gradient(145deg,#492823,#321c1a);border-color:#714137;color:#f2dfcd;box-shadow:0 10px 28px #14080766}
body:not(.home-active) .folder-card:hover{border-color:#bc7055}
body:not(.home-active) .folder-card>span{background:#65342c;color:#ef9e78}
body:not(.home-active) .folder-card small,body:not(.home-active) .album-toolbar{color:#c5a590}
body:not(.home-active) .folder-view-head{background:linear-gradient(115deg,#4a2924,#2d1917);border-color:#724238}
body:not(.home-active) .folder-view-head>button{background:#a74438}
body:not(.home-active) .photo-item{background:#4b2c26;border:1px solid #7d493c;box-shadow:0 12px 30px #14080770}
body:not(.home-active) .empty-state{border-color:#875242;color:#c9aa94}
body:not(.home-active) .chat-card,body:not(.home-active) .calendar-card,body:not(.home-active) .agenda{background:#38201d;border-color:#704238;box-shadow:var(--shadow)}
body:not(.home-active) .chat-head,body:not(.home-active) .chat-form,body:not(.home-active) .song{border-color:#704238}
body:not(.home-active) .msg{background:#573029;color:#f4dfcb}
body:not(.home-active) .msg.me{background:#a74639;color:#fff3e5}
body:not(.home-active) .chat-form input,body:not(.home-active) .modal input,body:not(.home-active) .modal select{background:#2d1a18;border-color:#75463b;color:#f2dfcc}
body:not(.home-active) .chat-form select,body:not(.home-active) .album-toolbar select{color:#ed9b76;background:#321c19}
body:not(.home-active) .music-hero{background:linear-gradient(130deg,#6b2d28,#a34838)}
body:not(.home-active) .music-import,body:not(.home-active) .view-switch{background:#3a211e;color:#eda07b;border-color:#704238}
body:not(.home-active) .song.is-playing{background:#512b25}
body:not(.home-active) .song-play{background:#67342c!important;color:#f0a17b!important}
body:not(.home-active) .idea{background:#3a211e;border-color:#704238;color:#f0dcc8}
body:not(.home-active) .game-card.rose{background:linear-gradient(145deg,#74352f,#4b2723)}
body:not(.home-active) .game-card.gold{background:linear-gradient(145deg,#795037,#4a3025)}
body:not(.home-active) .game-card.sage{background:linear-gradient(145deg,#4c5944,#303b2e)}
body:not(.home-active) .game-stage{border-color:#875141}
body:not(.home-active) .day{color:#ead5c1}
body:not(.home-active) .day:hover{background:#573027}
body:not(.home-active) .day.has-event{background:#7b3b31;color:#fff0df}
body:not(.home-active) .event-row{background:#4d2924;border-color:#d66d4e}
body #calendario .agenda .event-row,
body #calendario .agenda .event-row b,
body #calendario .agenda .event-row small,
body #calendario .agenda .event-row button{color:#fff4e8!important;opacity:1!important}
body #calendario .agenda .event-row small{font-size:13px;line-height:1.5}
body #calendario .agenda .event-row button{font-size:18px}
body:not(.home-active) dialog{background:#3a211e;color:#f1ddc9}
body:not(.home-active) .book-page{color:#4b2924}
body:not(.home-active) .music-float{background:#351a18ed;border-color:#cb7d5c66}

/* Fotografías románticas de la portada */
#inicio .fake-photo.coast{background:url("assets/portada-romantica-atardecer.png") center/cover no-repeat!important}
#inicio .fake-photo.dinner{background:url("assets/portada-romantica-cena.png") center/cover no-repeat!important}

/* Edición de fotos de Inicio y filtros de álbum. */
body #inicio .fake-photo img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
body #inicio .change-home-photo{position:absolute;top:14px;right:14px;z-index:5;border:1px solid #fff3e5;background:#633329;color:#fffaf2!important;border-radius:20px;padding:9px 12px;font-weight:600;cursor:pointer;min-height:40px}
body #inicio .change-home-photo:focus-visible{outline:3px solid #fffaf2;outline-offset:3px}
.photo-edit-preview{display:block;width:100%;max-height:220px;object-fit:contain;background:#eadbc8;border-radius:12px;margin-bottom:14px}
.photo-edit-preview[hidden]{display:none}
body #homePhotoDialog select,body #homePhotoDialog input{color:#3b281f!important;background:#fffaf2!important}
body #homePhotoReset{color:#fffaf2!important;background:#633329!important}
.photo-item.sepia img{filter:sepia(.85)}.photo-item.golden img{filter:sepia(.3) saturate(1.4) brightness(1.08)}.photo-item.soft img{filter:contrast(.88) brightness(1.1) saturate(.85)}.photo-item.cool img{filter:saturate(.85) hue-rotate(15deg) contrast(1.05)}.photo-item.cinema img{filter:contrast(1.22) saturate(.75)}.photo-item.vivid img{filter:saturate(1.65) contrast(1.08)}.photo-item.rose img{filter:sepia(.2) hue-rotate(325deg) saturate(1.2)}.photo-item.matte img{filter:contrast(.8) brightness(1.12)}
/* Lista de destinos compacta y desplazable. */
body #editPhotoDialog #moveAlbum{height:150px!important;max-height:150px;overflow-y:auto;padding:5px;background:#fffaf2!important;color:#3b281f!important}
body #editPhotoDialog #moveAlbum option{padding:8px 10px;min-height:32px}
body #editPhotoDialog #moveAlbum option:checked{background:#633329 linear-gradient(#633329,#633329);color:#fffaf2}
body #editPhotoDialog #moveAlbumHint{display:block;color:#60483a;font-size:12px;margin-top:6px}
/* Contraste de superficies oscuras: no heredar la tinta del fondo beige. */
body #albumes .folder-view-head,
body #albumes .folder-view-head h2,
body #albumes .folder-view-head small,
body #albumes .folder-view-head button,
body #albumes .folder-card.add-folder,
body #albumes .folder-card.add-folder b,
body #albumes .folder-card.add-folder small,
body #albumes .folder-card.add-folder span{color:#fff8ef!important;opacity:1!important}
body #albumes .folder-view-head small{font-size:12px;letter-spacing:1.4px}
body #albumes .album-breadcrumb button{color:#743b29!important;font-weight:600}
body #albumes .album-toolbar select,
body #albumes .album-toolbar select option{background:#fffaf2!important;color:#3b281f!important}
body #albumes .album-toolbar select{padding:6px 9px;border:1px solid #bfa48e;border-radius:8px}
body .music-hero,body .music-hero h2,body .music-hero p,body .music-hero small,
body .music-hero span,body .music-hero button,
body .music-import,body .music-float,body .music-float b,body .music-float small,
body .song.is-playing b,body .song.is-playing small,body .song.is-playing .song-num,
body .song.is-playing button{color:#fff8ef!important}
body #calendario .day:hover,body #calendario .day.has-event{color:#fff8ef!important;background:#633329!important;opacity:1!important}

/* Rediseño beige cálido · terracota · salvia */
:root{--ink:#49382f;--muted:#847268;--wine:#b9684f;--wine2:#d28a6f;--cream:#f3eadc;--paper:#fffaf1;--rose:#ead2c3;--gold:#d6b887;--sage:#aeb7a0;--line:#dccdbb;--shadow:0 18px 50px #6f523a18}
body,body.home-active,body:not(.home-active){color:var(--ink);background:radial-gradient(circle at 88% 8%,#d99b7850,transparent 28%),radial-gradient(circle at 12% 92%,#a7b39738,transparent 30%),linear-gradient(145deg,#f7efe3,#eadbc8)!important}
body .petals,body:not(.home-active) .petals{opacity:.5;background:radial-gradient(circle,#bd795c33 0 2px,transparent 3px);background-size:74px 74px}
body .sidebar,body:not(.home-active) .sidebar{background:#f8efe4ed;border-color:var(--line);color:var(--ink)}
body .brand,body .nav-item,body:not(.home-active) .brand,body:not(.home-active) .nav-item{color:#715f54}
body .nav-item:hover,body .nav-item.active,body:not(.home-active) .nav-item:hover,body:not(.home-active) .nav-item.active{background:#e8d5c3;color:#9d523f}
body .sidebar-foot,body:not(.home-active) .sidebar-foot{border-color:var(--line);color:var(--ink)}
body .sidebar-foot small,body:not(.home-active) .sidebar-foot small,body .topbar,body:not(.home-active) .topbar{color:var(--muted)}
body h1 i,body h2 i,body .eyebrow,body:not(.home-active) h1 i,body:not(.home-active) h2 i,body:not(.home-active) .eyebrow{color:#b66048}
body .primary,body:not(.home-active) .primary{background:linear-gradient(135deg,#b75e46,#ce7b5f);box-shadow:0 10px 25px #8b493128}
body .primary:hover,body:not(.home-active) .primary:hover{background:linear-gradient(135deg,#a9513c,#bd6b51)}
body .round,body:not(.home-active) .round{border-color:var(--line);background:var(--paper);color:#ad5b46}
body .album-tabs button,body .filters button,body:not(.home-active) .album-tabs button,body:not(.home-active) .filters button{background:var(--paper);border-color:var(--line);color:var(--muted)}
body .album-tabs button.active,body .filters button.active,body:not(.home-active) .album-tabs button.active,body:not(.home-active) .filters button.active{background:#b6634c;border-color:#b6634c;color:#fff}
body .chat-card,body .calendar-card,body .agenda,body:not(.home-active) .chat-card,body:not(.home-active) .calendar-card,body:not(.home-active) .agenda{background:#fffaf3;border-color:var(--line);color:var(--ink)}
body .chat-head,body .chat-form,body .song,body:not(.home-active) .chat-head,body:not(.home-active) .chat-form,body:not(.home-active) .song{border-color:var(--line)}
body .msg,body:not(.home-active) .msg{background:#eee2d3;color:var(--ink)}body .msg.me,body:not(.home-active) .msg.me{background:#b9684f;color:#fff}
body .chat-form input,body .modal input,body .modal select,body:not(.home-active) .chat-form input,body:not(.home-active) .modal input,body:not(.home-active) .modal select{background:#fffdf8;border-color:var(--line);color:var(--ink)}
body dialog,body:not(.home-active) dialog{background:#fffaf1;color:var(--ink)}
body .idea,body:not(.home-active) .idea{background:#fffaf3;border-color:var(--line);color:var(--ink)}
body .game-card.rose,body:not(.home-active) .game-card.rose{background:linear-gradient(145deg,#ecd4c6,#dfb9a6)}
body .game-card.gold,body:not(.home-active) .game-card.gold{background:linear-gradient(145deg,#eadcbd,#d8bd8e)}
body .game-card.sage,body:not(.home-active) .game-card.sage{background:linear-gradient(145deg,#d5ddcd,#aebca4)}
.game-card.clay{background:linear-gradient(145deg,#e2b39e,#c98268)}.game-grid{grid-template-columns:repeat(4,1fr)}.game-card{min-height:330px}.game-card h2{font-size:27px}
.profile-chip{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fffaf1;padding:5px 11px 5px 5px;border-radius:999px;color:var(--ink);cursor:pointer}.profile-chip span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#b9684f;color:#fff}.profile-chip b{font-size:12px}
.chat-author{align-self:center;font-size:11px;font-weight:700;color:#a45a46;background:#f0dfd0;border-radius:999px;padding:8px 10px}.profile-copy{color:var(--muted);font-size:13px;line-height:1.5}.logout-button{border:0;background:transparent;color:#a55342;cursor:pointer;padding:8px}
.pin-screen{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 10%,#d9a08380,transparent 30%),radial-gradient(circle at 80% 85%,#9dab8d70,transparent 31%),linear-gradient(145deg,#f5ecdf,#e7d5c0)}body:not(.locked) .pin-screen{display:none}body.locked{overflow:hidden}.pin-card{width:min(430px,100%);padding:34px 42px 30px;text-align:center;border:1px solid #d6c2ad;border-radius:32px;background:#fffaf2e8;box-shadow:0 30px 80px #72533b2e;backdrop-filter:blur(14px)}.pin-card h1{font-size:43px;margin:12px 0}.pin-card>p{color:var(--muted);line-height:1.5}.pin-card>small{display:block;margin-top:20px;color:#9a8476}.pin-heart{display:grid;place-items:center;margin:0 auto 15px;width:54px;height:54px;border-radius:50%;background:#bb6b52;color:white;font-size:28px}.pin-dots{display:flex;justify-content:center;gap:15px;margin:25px 0 10px}.pin-dots i{width:14px;height:14px;border:2px solid #b9684f;border-radius:50%;transition:.18s}.pin-dots i.filled{background:#b9684f;transform:scale(1.1)}.pin-error{min-height:20px;color:#a64f3c;font-size:12px}.pin-pad{display:grid;grid-template-columns:repeat(3,66px);justify-content:center;gap:11px;margin-top:10px}.pin-pad button{width:66px;height:58px;border:1px solid #dbc9b7;border-radius:16px;background:#f8eee2;color:#49382f;font:600 21px "DM Sans";cursor:pointer;box-shadow:0 4px 0 #decebc;transition:.12s}.pin-pad button:hover{background:#eedbcc}.pin-pad button:active{transform:translateY(3px);box-shadow:0 1px 0 #decebc}.pin-pad .pin-delete{font-size:19px;background:transparent;box-shadow:none;border-color:transparent}.shake{animation:shake .32s ease}@keyframes shake{25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}
.stage-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.punishment{color:#a5543e}.coupon-section{margin-top:35px;padding:30px;border-radius:24px;background:#fffaf1;border:1px solid var(--line);box-shadow:var(--shadow)}.coupon-section>div:first-child{max-width:650px}.coupon-section h2{font-size:34px;margin:8px 0}.coupon-section p{color:var(--muted)}#couponForm{display:flex;gap:10px;max-width:620px;margin:22px 0}#couponForm input{flex:1;border:1px solid var(--line);background:#fffdf8;border-radius:999px;padding:13px 18px}.coupon-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.coupon{position:relative;display:grid;gap:7px;min-height:130px;padding:20px;border:1px dashed #c98f76;border-radius:16px;background:linear-gradient(135deg,#f6e6d8,#efe0c7);overflow:hidden}.coupon:before,.coupon:after{content:"";position:absolute;top:50%;width:18px;height:18px;border-radius:50%;background:#fffaf1}.coupon:before{left:-10px}.coupon:after{right:-10px}.coupon>span{font-size:9px;letter-spacing:2px;color:#ac5d47}.coupon>b{font:22px "DM Serif Display"}.coupon small{color:var(--muted)}.coupon button{position:absolute;right:9px;top:8px;border:0;background:none;color:#9d5b49;cursor:pointer;font-size:18px}
#otherTypeWrap[hidden]{display:none}
@media(max-width:1200px){.game-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.game-grid{grid-template-columns:1fr 1fr}.coupon-list{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.game-grid,.coupon-list{grid-template-columns:1fr}.pin-card{padding:28px 20px}.pin-card h1{font-size:36px}#couponForm{flex-direction:column}.profile-chip b{display:none}.topbar{gap:10px}}

/* Contraste reforzado y controles multimedia */
body,body.home-active,body:not(.home-active){--ink:#35261f;--muted:#604e44;--wine:#914733;--wine2:#b65e45;--line:#cdb9a3;color:#35261f}
body .page,body:not(.home-active) .page{color:#35261f}body h1,body h2,body h3,body .song b,body .idea span,body .album-toolbar,body:not(.home-active) h1,body:not(.home-active) h2{color:#35261f}
body .page-title p,body .hero-copy>p,body .song small,body .song-num,body .album-toolbar,body .folder-card small,body:not(.home-active) .page-title p,body:not(.home-active) .song small{color:#604e44}
body .eyebrow,body:not(.home-active) .eyebrow{color:#8f402e;font-size:12px;font-weight:800}
.brand{font-size:24px;line-height:1.02}.brand-mark{width:48px;height:48px}.sidebar-foot b{font-size:15px}.sidebar-foot small{font-size:11px}.profile-chip b{font-size:14px}.profile-chip span{width:34px;height:34px;font-size:15px}
#inicio .hero-copy>.eyebrow{font-size:14px}.page-title .eyebrow{font-size:12px}.page-title h1{color:#35261f;text-shadow:none}
body .text-btn,body:not(.home-active) .text-btn,body .song a,body .song button{color:#813b2c}
.trim-panel{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#f4e8da}.trim-panel[hidden]{display:none}.trim-panel video{width:100%;max-height:240px;border-radius:12px;background:#2e211c}.trim-label{font-size:10px;font-weight:800;letter-spacing:1.5px;color:#873f2e}.trim-values{display:flex;justify-content:space-between;gap:12px;color:#4a372e;font-size:12px}.trim-panel input[type="range"],#audioTrimDialog input[type="range"]{accent-color:#9c4e39;padding:0;border:0}.preview-trim{justify-self:start;color:#7b392b}.trim-panel small{color:#604e44;line-height:1.4}
#audioTrimDialog audio{width:100%}#audioTrimDialog .modal{min-width:min(520px,92vw)}
.video-item video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#2d201b}.video-item:after{content:"";position:absolute;pointer-events:none;inset:55% 0 0;background:linear-gradient(transparent,#241713aa)}.video-item p{z-index:3}.video-badge{position:absolute;z-index:4;top:10px;left:10px;background:#38251dcc;color:#fff5e9;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:700}.video-item video::-webkit-media-controls-panel{opacity:.9}
@media(max-width:560px){.brand{font-size:22px}.trim-values{flex-direction:column;gap:4px}.profile-chip span{width:32px;height:32px}}

/* Contraste definitivo: anula los colores claros heredados del tema original */
body.home-active .brand,body:not(.home-active) .brand,
body.home-active .nav-item,body:not(.home-active) .nav-item,
body.home-active .sidebar-foot,body:not(.home-active) .sidebar-foot,
body.home-active .sidebar-foot b,body:not(.home-active) .sidebar-foot b,
body.home-active .sidebar-foot small,body:not(.home-active) .sidebar-foot small,
body.home-active .topbar,body:not(.home-active) .topbar{color:#2b1c17!important}
body.home-active #inicio{color:#2b1c17!important}
body.home-active #inicio h1,body.home-active #inicio h2,body.home-active #inicio h3,
body.home-active #inicio .hero-copy>p,body.home-active #inicio .next-card p,
body.home-active #inicio .text-btn{color:#2b1c17!important}
body.home-active #inicio .eyebrow,body.home-active #inicio h1 i,body.home-active #inicio h2 i,
body:not(.home-active) .eyebrow,body:not(.home-active) h1 i,body:not(.home-active) h2 i{color:#743421!important}
body:not(.home-active) .page-title h1,body:not(.home-active) .page-title p,
body:not(.home-active) .song:not(.is-playing) b,body:not(.home-active) .song:not(.is-playing) small,
body:not(.home-active) .song:not(.is-playing) .song-num,
body:not(.home-active) .album-toolbar,body:not(.home-active) .agenda p{color:#2b1c17!important}
body:not(.home-active) .song:not(.is-playing){border-color:#8f6b58!important}
body:not(.home-active) .chat-info>p,body:not(.home-active) .page-title>div>p{color:#4c382e!important}
body.home-active #inicio .quote-card,body.home-active #inicio .quote-card p,
body.home-active #inicio .quote-card small,body.home-active #inicio .next-card,
body.home-active #inicio .next-card p{color:#fff4e8!important}
body:not(.home-active) .song.is-playing,body:not(.home-active) .song.is-playing b,
body:not(.home-active) .song.is-playing small,body:not(.home-active) .song.is-playing .song-num{color:#fff4e8!important}

/* Texto claro únicamente sobre la barra lateral oscura de Inicio */
body.home-active .sidebar .brand,
body.home-active .sidebar .brand i,
body.home-active .sidebar .nav-item,
body.home-active .sidebar .sidebar-foot,
body.home-active .sidebar .sidebar-foot b,
body.home-active .sidebar .sidebar-foot small{color:#fff3e5!important}
body.home-active .sidebar .nav-item:hover,
body.home-active .sidebar .nav-item.active{color:#fffaf2!important;background:#a64d3f!important}
body.home-active .sidebar .brand i{color:#f3a07e!important}
body.home-active .sidebar .brand-mark{color:#fff!important}

/* La barra lateral conserva el mismo tema oscuro en todas las secciones */
body .sidebar,body.home-active .sidebar,body:not(.home-active) .sidebar{
  background:linear-gradient(180deg,#2b1917f7,#452521f7)!important;
  border-color:#75483d!important;
  color:#fff3e5!important
}
body .sidebar .brand,body .sidebar .brand i,
body .sidebar .nav-item,body .sidebar .sidebar-foot,
body .sidebar .sidebar-foot b,body .sidebar .sidebar-foot small,
body:not(.home-active) .sidebar .brand,body:not(.home-active) .sidebar .brand i,
body:not(.home-active) .sidebar .nav-item,body:not(.home-active) .sidebar .sidebar-foot,
body:not(.home-active) .sidebar .sidebar-foot b,body:not(.home-active) .sidebar .sidebar-foot small{
  color:#fff3e5!important
}
body .sidebar .brand i,body:not(.home-active) .sidebar .brand i{color:#f3a07e!important}
body .sidebar .nav-item:hover,body .sidebar .nav-item.active,
body:not(.home-active) .sidebar .nav-item:hover,body:not(.home-active) .sidebar .nav-item.active{
  color:#fffaf2!important;background:#a64d3f!important
}
body .sidebar .sidebar-foot{border-color:#75483d!important}

/* Calendario con contraste alto */
body #calendario .calendar-head h2,
body #calendario .calendar-head button,
body #calendario .weekdays,
body #calendario .weekdays span,
body #calendario .day,
body:not(.home-active) #calendario .day{
  color:#34231c!important
}
body #calendario .day.other{color:#806b5e!important;opacity:.65!important}
body #calendario .day.today{outline:2px solid #8f402e!important;font-weight:800}
body #calendario .day.has-event{background:#a95642!important;color:#fff8ef!important}
body #calendario .day.has-event .tooltip{color:#fff!important}

/* Filtros de la lista con lectura clara */
body #ideas .filters button,
body:not(.home-active) #ideas .filters button,
body #ideas .view-switch,
body:not(.home-active) #ideas .view-switch,
body #ideas .view-switch button,
body:not(.home-active) #ideas .view-switch button{
  background:#f8ecdd!important;
  border-color:#bfa48e!important;
  color:#3b281f!important;
  opacity:1!important
}
body #ideas .filters button.active,
body:not(.home-active) #ideas .filters button.active,
body #ideas .view-switch button.active,
body:not(.home-active) #ideas .view-switch button.active{
  background:#a95642!important;
  border-color:#8f402e!important;
  color:#fffaf2!important
}

/* Filtros de álbumes con contraste alto */
#albumTabs{flex-wrap:wrap;overflow:visible}
body #albumes #addCategoryBtn{border:1px dashed #874630!important;background:#f8ecdd!important;color:#713c2a!important;font-weight:700}
#categoryError{margin:0;font-size:13px;color:#8e3326;line-height:1.5}
.category-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0;color:#513c30}
.category-actions[hidden],#deleteCategoryPanel[hidden],#editCategoryPanel[hidden],#categoryDestinationWrap[hidden]{display:none}
.category-actions button{color:#743421;background:#f8ecdd}
#editCategoryPanel,#deleteCategoryPanel{display:grid;gap:16px}
#editCategoryError{color:#8e3326;font-size:13px;margin:0}
.all-albums-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:20px;margin-top:20px}
body #albumes .all-albums-grid .folder-card{min-width:0;width:100%;height:210px}
body #albumes .all-albums-grid .folder-card.has-cover b,body #albumes .all-albums-grid .folder-card.has-cover small{color:#fff8ef!important}
body #albumes .all-albums-grid .folder-card.no-cover{background:#f8ecdd;color:#3b281f}
body #albumes .all-albums-grid .folder-card.no-cover small{color:#60483a}
.all-albums-summary,.all-albums-empty{color:#513c30;margin:22px 0 0}
button.sidebar-foot{width:100%;border-right:0;border-bottom:0;border-left:0;background:transparent;text-align:left;font-family:inherit;cursor:pointer;padding-right:0;padding-left:0}
button.sidebar-foot:focus-visible{outline:2px solid #f3a07e;outline-offset:4px}
.couple-avatars{flex-shrink:0}
.couple-avatars>span,#profileInitial,#chatPartnerInitial{overflow:hidden;flex-shrink:0}
.couple-avatars img,#profileInitial img,#chatPartnerInitial img,.profile-photo-preview img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.profile-photo-editor{display:flex;gap:18px;align-items:center;padding:16px;background:#f4e6d7;border:1px solid #d4bda6;border-radius:16px}
.profile-photo-preview{display:grid;place-items:center;width:84px;height:84px;border-radius:50%;overflow:hidden;background:#99503d;color:#fff5e8;font-size:30px;flex-shrink:0}
.profile-photo-editor p{font-size:11px;line-height:1.5;color:#513c30!important;margin:10px 0 0}
.remove-profile-photo{display:block;border:0;background:none;color:#813b2c;padding:10px 0 0;cursor:pointer}
.remove-profile-photo[hidden]{display:none}
#profilePhotoStatus{margin:0;color:#633522;font-size:12px;line-height:1.5}
.profile-photo-editor button:disabled{opacity:.6;cursor:wait}
#profileDialog{max-height:90vh;overflow:auto}
body #albumes .album-tabs button,
body:not(.home-active) #albumes .album-tabs button{
  background:#f8ecdd!important;
  border-color:#bfa48e!important;
  color:#3b281f!important;
  opacity:1!important
}
body #albumes .album-tabs button.active,
body:not(.home-active) #albumes .album-tabs button.active{
  background:#a95642!important;
  border-color:#8f402e!important;
  color:#fffaf2!important
}
