/* Biblioteca de herramientas · Fichas Pack 5.3
   Diseño compartido con la portada Pack 5. Mantiene galerías, releases y opiniones propias. */
html[data-biblioteca-ficha]{color-scheme:light;--bg:#f8f9fc;--panel:#fff;--panel2:#f5f3fd;--panel-2:#f5f3fd;--line:#e5e6ef;--ink:#171827;--txt:#171827;--muted:#6e7187;--blue:#6753e6;--mint:#6753e6;--accent:#6753e6;--orange:#e4974a;--radius:18px;scroll-padding-top:94px}
.ficha-app{margin:0;background:#f8f9fc;color:#171827;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.55;font-size:15px;-webkit-font-smoothing:antialiased;min-width:0}
.ficha-app *{box-sizing:border-box}.ficha-app img{max-width:100%}.ficha-app a{color:#5947cb}.ficha-app a:focus-visible,.ficha-app button:focus-visible{outline:3px solid #816bf2;outline-offset:3px}
.ficha-app .container{width:min(1200px,calc(100% - 54px));margin:0 auto;padding:0}
.ficha-app .wrap{width:min(1120px,calc(100% - 54px));max-width:1120px;margin-left:auto;margin-right:auto;padding-left:0;padding-right:0}
.ficha-app .site-header{position:sticky;top:0;z-index:45;backdrop-filter:blur(18px);background:rgba(248,249,252,.95);border-bottom:1px solid #e9eaf0}
.ficha-app .header-inner{height:73px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.ficha-app .site-header .brand{display:inline-flex;align-items:center;gap:11px;min-width:0;text-decoration:none;color:#171827;font-size:1rem;letter-spacing:-.038em;font-weight:800}
.ficha-app .site-header .brand-logo{background:linear-gradient(135deg,#7869eb,#5d46cc);display:grid;place-items:center;width:40px;height:40px;border-radius:13px;flex-shrink:0;box-shadow:0 5px 14px rgba(111,86,219,.18)}
.ficha-app .site-header .brand-name{white-space:nowrap}.ficha-app .site-header .brand-suffix{color:#4c4c60}
.ficha-app .site-header .site-nav{display:flex;align-items:center;gap:26px;flex-wrap:nowrap}.ficha-app .site-header .site-nav a{color:#53546b;font-size:.88rem;text-decoration:none;font-weight:680;white-space:nowrap}.ficha-app .site-header .site-nav a:hover{color:#5c48cf}.ficha-app .site-header .site-nav .nav-cta{color:#fff;background:#191a2b;border-radius:11px;padding:11px 17px}.ficha-app .site-header .site-nav .nav-cta:hover{background:#5442cf;color:#fff}
/* Uniform introductory section on all five applications. */
.ficha-app .app-detail-hero{padding:30px 0 39px;background:transparent;border:0;margin:0}
.ficha-app .detail-hero-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(315px,.88fr);gap:34px;align-items:stretch;min-height:405px;padding:0}
.ficha-app .detail-intro{background:linear-gradient(125deg,#f0eafe 0%,#f8f6ff 60%,#eff2ff 100%);border:1px solid #e9e1fb;border-radius:24px;padding:34px 38px;display:flex;flex-direction:column;min-width:0;box-shadow:0 12px 38px rgba(83,65,166,.045)}
.ficha-app .detail-back{align-self:flex-start;color:#6253a7;text-decoration:none;font-weight:720;font-size:.8rem;margin-bottom:18px}.ficha-app .detail-back:hover{text-decoration:underline}
.ficha-app .detail-eyebrow{display:inline-flex;align-items:center;align-self:flex-start;gap:7px;border-radius:30px;background:#fff;border:1px solid #e6defc;padding:6px 11px;color:#5d49c5;font-weight:760;font-size:.76rem;margin:0 0 17px}.ficha-app .eyebrow-dot{height:8px;width:8px;border-radius:50%;background:#6b55e5;display:inline-block}
.ficha-app .detail-title-row{display:flex;align-items:center;gap:15px;min-width:0}.ficha-app .detail-title-row img{width:64px;height:64px;border-radius:17px;flex-shrink:0}.ficha-app .detail-title-row h1{font-size:clamp(2rem,3.1vw,3.1rem);font-weight:830;letter-spacing:-.063em;line-height:1.1;color:#1a1929;padding:0;margin:0;overflow-wrap:anywhere}
.ficha-app .detail-subtitle{max-width:61ch;color:#68657d;font-size:.98rem;line-height:1.67;margin:18px 0 0}.ficha-app .detail-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:19px}.ficha-app .app-chip{display:inline-flex;align-items:center;border:1px solid #e2dff0;border-radius:9px;background:rgba(255,255,255,.67);color:#57516e;font-size:.74rem;font-weight:690;padding:6px 10px}
.ficha-app .detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:22px}.ficha-app .detail-actions .button{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:44px;padding:10px 16px;border-radius:11px;text-decoration:none;font-size:.85rem;line-height:1.25;font-weight:790;border:1px solid transparent;transition:transform .15s ease,background .15s ease}.ficha-app .detail-actions .button:hover{transform:translateY(-1px)}
.ficha-app .detail-actions .detail-primary{color:white;background:#6955e8;box-shadow:0 6px 16px rgba(98,76,209,.14)}.ficha-app .detail-actions .detail-primary:hover{color:white;background:#503aca}.ficha-app .detail-actions .detail-secondary{color:#504373;background:#fff;border-color:#e4def2}.ficha-app .detail-actions .detail-secondary:hover{background:#f5f2ff}
.ficha-app .detail-note{font-size:.78rem;color:#76738b;margin:11px 0 0}.ficha-app .detail-stats{display:flex;flex-wrap:wrap;gap:18px;margin-top:auto;padding-top:24px;border-top:1px solid rgba(103,84,151,.13)}.ficha-app .detail-stats>div{display:flex;flex-direction:column;min-width:105px;gap:2px}.ficha-app .detail-stats>div>span{font-size:.73rem;color:#727089}.ficha-app .detail-stats strong{font-size:.94rem;color:#282241;font-weight:800;font-variant-numeric:tabular-nums}.ficha-app .detail-stats small{color:#827a9e;font-size:.66rem}
.ficha-app .detail-footnote{color:#777389;font-size:.72rem;margin:11px 0 0}.ficha-app .detail-share{border:0;background:transparent;color:#614dca;padding:12px 0 0;align-self:flex-start;cursor:pointer;font-weight:700;font-size:.79rem}
.ficha-app .detail-showcase{border:1px solid #ebe9f2;min-width:0;overflow:hidden;border-radius:24px;background:#fff;box-shadow:0 10px 36px rgba(26,24,70,.045);display:flex;flex-direction:column;align-items:stretch}
.ficha-app .showcase-top{display:flex;align-items:center;gap:10px;padding:20px 23px 13px}.ficha-app .showcase-top img{width:37px;height:37px;border-radius:11px}.ficha-app .showcase-top div{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.ficha-app .showcase-top strong{font-size:.88rem;color:#272638;font-weight:820}.ficha-app .showcase-top div span{font-size:.72rem;color:#8a899b}.ficha-app .showcase-free{font-size:.69rem;font-weight:800;color:#239663;padding:5px 8px;background:#eaf8f0;border-radius:8px}
.ficha-app .showcase-screen{flex:1;min-height:298px;max-height:385px;overflow:hidden;position:relative;display:flex;justify-content:center;align-items:flex-start;background:radial-gradient(circle at 76% 45%,#e1d9fd 0,transparent 60%),linear-gradient(145deg,#f6f2ff,#ebefff);margin:0 17px;border-radius:17px 17px 0 0;padding:17px 8px 0}
.ficha-app .showcase-screen img{display:block;width:200px;height:auto;max-width:80%;border:6px solid #25243b;border-radius:25px 25px 0 0;box-shadow:0 14px 30px rgba(38,31,96,.2);object-fit:contain;object-position:top;transform:rotate(-4deg)}
.ficha-app .showcase-label{text-align:center;padding:10px 14px 17px;color:#85839a;font-size:.74rem;font-weight:660}
.ficha-app .showcase-clara{display:flex;justify-content:center;align-items:center;min-height:306px;padding:26px 16px;background:linear-gradient(130deg,#e5f5ee,#f6fbf7);margin:0 17px;border-radius:17px}
.ficha-app .mini-window{width:min(95%,390px);background:#fff;border:5px solid #b5d6ca;border-radius:15px;overflow:hidden;transform:rotate(-3deg);box-shadow:0 20px 30px #277f6d20}.ficha-app .mini-window-top{display:flex;align-items:center;gap:5px;padding:9px 12px;border-bottom:1px solid #d4eee5;background:#f7fcf9}.ficha-app .mini-window-top span{width:8px;height:8px;border-radius:50%;background:#a2d4c0}.ficha-app .mini-window-top b{font-size:.8rem;margin-left:10px;color:#25685b}.ficha-app .mini-window-body{padding:24px 14px;display:grid;grid-template-columns:90px 1fr;gap:18px;align-items:center}.ficha-app .mini-plate{height:90px;border-radius:19px;display:grid;place-items:center;background:#e9f7ee;color:#227662;font-size:3.1rem}.ficha-app .mini-copy strong{color:#31584f;font-size:.85rem}.ficha-app .mini-copy i{display:block;background:#d6e9e3;border-radius:5px;height:8px;margin-top:8px}.ficha-app .mini-copy i:nth-of-type(2){width:72%}.ficha-app .mini-copy i:nth-of-type(3){width:86%}.ficha-app .mini-chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:12px}.ficha-app .mini-chips span{background:#e4f5ed;color:#3e7a68;font-size:.64rem;border-radius:7px;padding:5px 8px}
/* Remaining information uses the same light, compact visual language. */
.ficha-app main>section:not(.app-detail-hero){color:#262639}
.ficha-app .detail-subsection,.ficha-app .area,.ficha-app .section{padding-top:41px;padding-bottom:41px;border-top:1px solid #e8e9f0;background:transparent;margin:0}
.ficha-app .detail-subsection.alt,.ficha-app .area.alternate{background:#f4f5fb}
.ficha-app section h2:not(.download-panel h2){color:#262337;letter-spacing:-.04em;font-weight:810;line-height:1.2}
.ficha-app section h3{color:#2d2940}.ficha-app p,.ficha-app li{color:#676a80}.ficha-app .lead,.ficha-app .intro,.ficha-app .section-intro{color:#747487}
.ficha-app .features,.ficha-app .feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.ficha-app .tile,.ficha-app .feature,.ficha-app .guide,.ficha-app .box,.ficha-app .rating-panel,.ficha-app .faq-item{background:#fff;border:1px solid #e9e9f1;border-radius:18px;box-shadow:0 8px 28px rgba(26,24,70,.035);color:#29263d}
.ficha-app .feature,.ficha-app .tile{padding:22px}.ficha-app .feature h3,.ficha-app .tile h3{color:#2d2940;font-size:1.04rem}.ficha-app .feature p,.ficha-app .tile p{color:#77768a;font-size:.88rem}.ficha-app .feature .emoji,.ficha-app .tile .emoji,.ficha-app .feature .symbol{color:#6653df;font-size:1.6rem}
.ficha-app .gallery,.ficha-app .gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.ficha-app .gallery-card,.ficha-app .shot{border:1px solid #e9e9f1;border-radius:17px;background:#fff;color:#26263b;box-shadow:0 7px 25px #20194e0a;overflow:hidden}
.ficha-app .gallery-card{padding:12px;gap:9px}.ficha-app .gallery-card:hover,.ficha-app .shot:hover{border-color:#9b8cef;transform:translateY(-2px)}
.ficha-app .gallery-card h3,.ficha-app .shot strong{color:#29283f}.ficha-app .gallery-card p,.ficha-app .shot p,.ficha-app .shot span{color:#6d6c84}
.ficha-app .gallery-card .gallery-screen{height:240px;background:#f1f0fb}.ficha-app .gallery-card .gallery-screen img{object-fit:contain;object-position:top;height:100%;width:100%}
.ficha-app .shot img{height:240px;object-fit:contain;object-position:top;background:#f6f4ff}.ficha-app .shot figcaption,.ficha-app .shot p{background:#fff}
.ficha-app .gallery-quicknav,.ficha-app .pack8-quicknav{display:flex;flex-wrap:wrap;gap:9px;align-items:center;border:0;background:transparent;padding:10px 0}
.ficha-app .gallery-quicknav a,.ficha-app .pack8-quicknav a{border:1px solid #e6e2f6;background:#fff;color:#6250bf;border-radius:9px;padding:6px 11px;text-decoration:none;font-size:.75rem;font-weight:680}
.ficha-app .pack8-back-wrap,.ficha-app .breadcrumb{display:none}
.ficha-app .guide{padding:23px}.ficha-app .guide p,.ficha-app .guide li{color:#676a80}
.ficha-app .detail-subsection .guide{background:transparent;border:0;padding:0;box-shadow:none}
.ficha-app .detail-subsection .guide li{background:#fff;border:1px solid #e9e9f1;color:#686a80;border-radius:16px}
.ficha-app .split .box{padding:23px}.ficha-app .split .box p{color:#676a80}
.ficha-app .stat,.ficha-app .rating-score{color:#26223a}
.ficha-app .rating-section{background:#f4f5fb;border-top:1px solid #e9e9f1;padding:42px 0}
.ficha-app .rating-panel{background:#fff!important;border-color:#e9e9f1!important}.ficha-app .rating-panel h3,.ficha-app .rating-panel strong{color:#2d2840}.ficha-app .rating-panel p{color:#6d6b83}
.ficha-app .rating-cta,.ficha-app .review-card,.ficha-app .faq-item,.ficha-app .question,.ficha-app .answer{background:#fff;color:#2e2b43;border-color:#e9e9f1}
.ficha-app .rating-section .button.primary,.ficha-app .rating-section .button.secondary{border-radius:11px;color:#fff;background:#6653df;border:0}.ficha-app .rating-section .button.secondary{color:#4c4382;background:#f1edff;border:1px solid #e7e0ff}
.ficha-app .about{background:#f7f7fb;color:#29263d;padding:37px 0}.ficha-app .about p{color:#686a80}
.ficha-app .callout{background:#f1edff;border-color:#e8e1fa;border-radius:20px}.ficha-app .callout h2{color:#252139}.ficha-app .callout .button.primary{background:#6653df;color:#fff}.ficha-app .callout .button.secondary{background:#fff;color:#514397;border-color:#e6e1f1}
.ficha-app .release-list a,.ficha-app .version-list a{color:#5d4bc4}
.ficha-app .site-footer{border-top:1px solid #e7e8ef;background:#fff;padding:29px 0 35px;color:#717184}.ficha-app .footer-inner{display:flex;justify-content:space-between;gap:25px;align-items:start}.ficha-app .footer-inner strong{font-size:.96rem;font-weight:820;letter-spacing:-.035em;color:#29283a}.ficha-app .footer-inner p{margin:4px 0 0;font-size:.77rem;color:#8b8c9e}.ficha-app .footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:15px;color:#8d8d9c;font-size:.78rem}.ficha-app .footer-links a{color:#56506f;text-decoration:none}.ficha-app .footer-links a:hover{text-decoration:underline}
/* Maintain modal readability regardless of the lighter page behind it. */
.ficha-app .gallery-dialog{background:#fff;color:#2a273c;border-color:#e4e2ec}.ficha-app .gallery-dialog-title{color:#26233b}.ficha-app .gallery-dialog button{cursor:pointer}
@media(max-width:940px){.ficha-app .detail-hero-layout{grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:16px}.ficha-app .detail-intro{padding:29px 27px}.ficha-app .site-header .site-nav{gap:16px}.ficha-app .gallery,.ficha-app .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.ficha-app .container,.ficha-app .wrap{width:min(100% - 30px,1120px)}.ficha-app .header-inner{height:65px}.ficha-app .site-header .site-nav a:not(.nav-cta){display:none}.ficha-app .site-header .brand-suffix{display:none}.ficha-app .detail-hero-layout{display:flex;flex-direction:column}.ficha-app .app-detail-hero{padding-top:16px}.ficha-app .detail-intro{padding:25px 23px}.ficha-app .detail-title-row h1{font-size:clamp(1.7rem,7vw,2.55rem)}.ficha-app .detail-title-row img{width:56px;height:56px}.ficha-app .detail-showcase{max-height:380px}.ficha-app .showcase-screen{min-height:245px;max-height:275px}.ficha-app .showcase-screen img{width:165px}.ficha-app .features,.ficha-app .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ficha-app .gallery,.ficha-app .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ficha-app .footer-inner{flex-direction:column}.ficha-app .detail-subsection,.ficha-app .area,.ficha-app .section{padding-top:30px;padding-bottom:30px}}
@media(max-width:450px){.ficha-app .site-header .brand-name{font-size:.92rem}.ficha-app .site-header .site-nav .nav-cta{padding:9px 12px}.ficha-app .detail-actions .button{flex:1;min-width:122px}.ficha-app .detail-stats{gap:13px}.ficha-app .detail-stats>div{min-width:120px}.ficha-app .features,.ficha-app .feature-grid{grid-template-columns:1fr}.ficha-app .gallery,.ficha-app .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ficha-app .gallery-card .gallery-screen{height:170px}.ficha-app .shot img{height:180px}}
@media(prefers-reduced-motion:reduce){.ficha-app *, .ficha-app *::before,.ficha-app *::after{scroll-behavior:auto;transition:none!important}}

/* Quinta ficha: Rutas a Pie */
.ficha-app.ficha-rutas .rutas-info{margin-top:0}.ficha-app.ficha-rutas .rutas-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.ficha-app.ficha-rutas .rutas-card{background:#fff;border:1px solid #e8e6f0;border-radius:18px;padding:24px;box-shadow:0 8px 28px #19164708}
.ficha-app.ficha-rutas .rutas-card h3{margin:0 0 10px;font-size:1.03rem}.ficha-app.ficha-rutas .rutas-card p{margin:0;color:#6b6b80;font-size:.9rem}
.ficha-app.ficha-rutas .rutas-card .card-emoji{display:inline-block;font-size:1.7rem;margin-bottom:10px}
.ficha-app.ficha-rutas .rutas-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ficha-app.ficha-rutas .rutas-shot{border:1px solid #e5e4ee;background:#fff;border-radius:17px;padding:10px;min-width:0;cursor:pointer;font:inherit;color:#272337;box-shadow:0 6px 22px #241a4d0a;text-align:left}
.ficha-app.ficha-rutas .rutas-shot:hover{border-color:#917de8;transform:translateY(-2px)}.ficha-app.ficha-rutas .rutas-shot img{display:block;width:100%;height:260px;object-fit:contain;object-position:top;background:#f7f5fd;border-radius:10px}
.ficha-app.ficha-rutas .rutas-shot span{display:block;font-size:.79rem;font-weight:740;margin:10px 4px 4px}
.ficha-app.ficha-rutas .rutas-note{border:1px solid #e4ddf6;background:#f0ecff;border-radius:18px;padding:23px 26px}
.ficha-app.ficha-rutas .rutas-note strong{color:#302746}.ficha-app.ficha-rutas .rutas-note p{margin:8px 0 0}
.ficha-app.ficha-rutas .rutas-panels{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.ficha-app.ficha-rutas .rutas-panel{background:#fff;border:1px solid #e7e5ef;border-radius:18px;padding:25px}
.ficha-app.ficha-rutas .rutas-panel h2{font-size:1.3rem;margin:0 0 13px}.ficha-app.ficha-rutas .rutas-panel li{margin:0 0 9px}
.ficha-app.ficha-rutas .rutas-faq details{background:#fff;border:1px solid #e8e6f0;border-radius:12px;padding:14px 18px;margin-bottom:10px}
.ficha-app.ficha-rutas .rutas-faq summary{cursor:pointer;font-weight:740;color:#262337}
.ficha-app.ficha-rutas .rutas-faq details p{margin-bottom:2px}
.ficha-app.ficha-rutas #rutas-lightbox{max-width:min(900px,92vw);max-height:94vh;border:0;border-radius:17px;padding:15px;background:#fff;color:#282337;box-shadow:0 20px 65px #0006}
.ficha-app.ficha-rutas #rutas-lightbox::backdrop{background:rgba(12,9,27,.8)}
.ficha-app.ficha-rutas #rutas-lightbox img{display:block;max-width:100%;max-height:76vh;object-fit:contain;margin:auto}
.ficha-app.ficha-rutas .rutas-modal-controls{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-top:8px}
.ficha-app.ficha-rutas .rutas-modal-controls button{background:#eeeaff;border:0;border-radius:8px;padding:9px 13px;color:#5541bf;font-weight:750;cursor:pointer}
@media(max-width:800px){.ficha-app.ficha-rutas .rutas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ficha-app.ficha-rutas .rutas-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.ficha-app.ficha-rutas .rutas-panels{grid-template-columns:1fr}}
@media(max-width:480px){.ficha-app.ficha-rutas .rutas-grid{grid-template-columns:1fr}.ficha-app.ficha-rutas .rutas-shot img{height:188px}.ficha-app.ficha-rutas .rutas-card,.ficha-app.ficha-rutas .rutas-panel{padding:18px}}
