/* Dimensiones propias de Inicio. El header, las guías y la cartografía conservan su escala. */
body[data-page-kind=home] #catalog{--card:153px;--gap:6.3px;--shelf-gap:4.5px;--shelf-heading-gap:1.8px;--rail-top:1.8px;--rail-bottom:2.7px}
body.comfortable[data-page-kind=home] #catalog{--card:clamp(171px,12.15vw,192.6px);--gap:7.2px;--shelf-gap:7.2px;--shelf-heading-gap:2.7px;--rail-top:2.7px;--rail-bottom:3.6px}
body{--functional-title:18.5px;--wordmark-slot:clamp(215px,19vw,280px)}
.header .brand{width:var(--wordmark-slot);min-height:44px;justify-content:flex-start}
.header .brand .user-wordmark{width:calc(var(--wordmark-slot) * .5);height:auto;max-width:none;max-height:none}
.key-phones-toggle{min-height:44px;border:1px solid #ffffff2b;border-radius:9999px;background:#ffffff05;color:#e1d8d6;padding:8px 12px;letter-spacing:.25px;transition:background .18s,border-color .18s}
.key-phones-toggle:hover,.key-phones-toggle[aria-expanded=true]{background:#ffffff0c;border-color:#e5b1a666;color:#fff}.key-phones-toggle:focus-visible{outline:2px solid #f5d0c9;outline-offset:3px}
.topic-cover,.functional-cover{padding:7px 12px;gap:4px;justify-content:center}
.topic-cover svg{width:25px;height:25px;margin:0;flex:none}
.topic-cover strong,.functional-cover strong{font-size:var(--functional-title);line-height:1.06;font-weight:600;letter-spacing:-.35px;display:block;overflow-wrap:normal;max-width:100%}
.functional-cover{height:100%;display:flex;flex-direction:column;align-items:flex-start;border-radius:inherit;background:var(--functional-bg);color:#fff}
.functional-cover.is-light{color:#172326}.functional-cover img{width:auto;height:25px;max-width:98px;object-fit:contain;flex:none}.functional-publisher{font-size:11px;line-height:1.2}
.personal-shelf{--enhanced-display:block}.personal-shelf .shelf-heading{position:relative}.personal-shelf h2{margin-right:auto}.personal-tools{display:flex;gap:2px}.personal-tools button{width:30px;height:24px;padding:0;background:transparent;color:#aaa;font-size:16px;border-radius:5px}.personal-tools button:hover{background:#ffffff12;color:#fff}
.personal-slot .card-visual{background:#ffffff04;border:1px solid #ffffff20;box-shadow:inset 0 1px 0 #ffffff09}.personal-slot button{height:100%;width:100%;min-height:44px;border-radius:inherit;background:transparent;color:#aeb5bc;font-size:27px;font-weight:200}.personal-slot button:hover{background:#ffffff06;color:#fff}
.personal-card .card-visual{border:1px solid #ffffff24;background:#ffffff07}.personal-link{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;padding:10px 13px;position:relative;background:#ffffff03}.personal-link>img.personal-favicon{width:24px;height:24px;object-fit:contain}.personal-title{font-size:14px;line-height:1.12;font-weight:550;position:relative;z-index:1;overflow-wrap:anywhere;max-width:100%;max-height:2.24em;overflow:hidden}.personal-link>img.personal-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.personal-link:has(.personal-art):after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 25%,#000b)}.personal-link:has(.personal-art){justify-content:flex-end}.personal-link:has(.personal-art) .personal-title{color:#fff;text-shadow:0 1px 5px #000}
.personal-edit{position:absolute;right:2px;top:0;z-index:3;width:44px;height:44px;border-radius:9px;background:#151515b8;color:#eee;opacity:0;pointer-events:none}.personal-card:hover .personal-edit,.personal-card:focus-within .personal-edit{opacity:1;pointer-events:auto}.personal-card .card-organize{z-index:5}
.personal-editor{position:fixed;margin:0;inset:auto;border:1px solid #ffffff30;border-radius:12px;background:#202222;color:#eee;box-shadow:0 18px 60px #000a;padding:16px;width:340px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 90px);overflow:auto;z-index:150}.personal-editor::backdrop{background:#0008}.personal-editor h2{font-size:17px;margin:0}.personal-editor header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.personal-editor button{min-height:44px;border-radius:7px;padding:7px 11px;background:#ffffff09;color:#eee}.personal-editor header button{min-width:44px}.personal-editor label{display:block;font-size:12px;color:#bbb;margin:9px 0}.personal-editor input:not([type=range]),.personal-editor textarea{display:block;width:100%;margin-top:5px;background:#121414;color:#eee;border:1px solid #ffffff2d;border-radius:6px;min-height:40px;padding:9px;font:inherit;resize:vertical}.personal-editor input[type=file]{font-size:11px}.personal-editor input[type=range]{width:100%}.personal-editor footer{display:flex;gap:7px;justify-content:flex-end;margin-top:12px}.personal-editor button[type=submit]{background:#e4e6e4;color:#151715}.personal-editor .personal-delete{margin-right:auto;color:#ffb4a5}.personal-editor [role=status]{font-size:12px;color:#ffb7a9;line-height:1.4;margin:8px 0}.personal-editor [hidden]{display:none!important}.personal-image-preview{height:100px;background:#ffffff04;border-radius:7px;overflow:hidden;position:relative}.personal-image-preview img{width:100%;height:100%;object-fit:cover}.personal-image-actions{display:flex;gap:5px}.personal-editor .duplicate-actions{display:flex;gap:6px}.personal-status{margin:0 var(--gutter);font-size:12px;color:#e4b6a9}.personal-status:empty{display:none}
@media(max-width:1099px){body{--wordmark-slot:190px}}
@media(max-width:760px){body{--wordmark-slot:min(184px,calc(100vw - 202px))}body[data-page-kind=home] #catalog{--card:165.6px;--gap:7.2px;--shelf-gap:9px;--shelf-heading-gap:1.8px;--rail-top:2.7px;--rail-bottom:3.6px}body.comfortable[data-page-kind=home] #catalog{--card:183.6px;--shelf-gap:10.8px;--shelf-heading-gap:2.7px;--rail-bottom:4.5px}.personal-tools button{width:44px;height:44px}.personal-shelf .shelf-heading{gap:2px}.personal-shelf .row-order{margin-left:0}.personal-editor{top:50%!important;left:50%!important;transform:translate(-50%,-50%);max-height:calc(100dvh - 32px)}.personal-edit{opacity:1;pointer-events:auto}.personal-title{font-size:14px}}
@media(max-width:600px){body{--wordmark-slot:clamp(82px,29vw,125px)}.key-phones-toggle{width:70px;max-width:70px;padding-inline:4px;font-size:9px;line-height:1.2}}
@media(max-width:380px){body{--wordmark-slot:82px}.key-phones-toggle{width:64px;max-width:64px}}
@media(pointer:coarse){.personal-edit{opacity:1;pointer-events:auto}.personal-tools button{width:44px;height:44px}}
.personal-editor .personal-image-preview{height:70px}.personal-image-preview img[data-favicon]{position:absolute;width:28px;height:28px;top:50%;left:50%;transform:translate(-50%,-50%);object-fit:contain}.personal-image-options summary{font-size:12px;min-height:36px;align-content:center;cursor:pointer;color:#ddd}
.personal-card .personal-edit{opacity:1;pointer-events:auto;background:#15151594}
/* El favorito queda fuera de la zona de lectura de los títulos funcionales. */
body[data-page-kind=home] .card:has(.topic-cover,.functional-cover) .card-save{top:4px;bottom:auto;right:4px}
/* V10.3: cambios limitados a Mi espacio. */
.personal-card .personal-link{justify-content:flex-end}
.personal-monogram{position:absolute;left:12px;top:10px;width:32px;height:32px;display:grid;place-items:center;border-radius:7px;border:1px solid #ffffff1c;background:#ffffff0a;color:#d8dfe1;font-size:14px;font-weight:550;letter-spacing:.4px;line-height:1;pointer-events:none}
.personal-link>img.personal-favicon{position:absolute;left:12px;top:10px;width:32px;height:32px;object-fit:contain}
.personal-link.has-personal-image .personal-monogram{display:none}
.personal-image-preview .personal-monogram{left:50%;top:50%;transform:translate(-50%,-50%);width:40px;height:40px;font-size:17px}
.personal-menu{position:fixed;z-index:155;width:230px;max-width:calc(100vw - 16px);padding:5px;border:1px solid #ffffff29;border-radius:10px;background:#222424;box-shadow:0 12px 32px #0008}
.personal-menu button{display:block;width:100%;min-height:44px;padding:10px 12px;text-align:left;border-radius:6px;background:transparent;color:#ddd;font-size:13px}
.personal-menu button:last-child{color:#e4b5ad}.personal-menu button:hover,.personal-menu button:focus-visible{background:#ffffff0a}
.personal-tools>button[aria-expanded=true]{background:#ffffff0d;color:#fff}
.personal-order summary{min-height:36px;align-content:center;font-size:12px;color:#ddd;cursor:pointer}.personal-order>div{display:flex;gap:6px}.personal-order button:disabled{opacity:.4;cursor:default}
.is-organizing .personal-card .personal-link{touch-action:pan-y;cursor:grab}
.is-organizing .personal-card .personal-edit{z-index:6}
/* V10.3.1: una portada real o una composición identitaria completa. */
.personal-card--generated-style .personal-link,.personal-image-preview.personal-card--generated-style{background:var(--personal-bg,#315D9F);color:#fff}
.personal-card .personal-link{padding:10px 12px;gap:0}
.personal-card .personal-title,.personal-image-preview .personal-title{font-size:16px;font-weight:600;line-height:1.1;letter-spacing:-.15px;max-height:2.2em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#fff}
.personal-identity{position:absolute;left:12px;top:10px;display:flex;align-items:center;gap:5px;max-width:calc(100% - 58px);height:20px;pointer-events:none}
.personal-domain{font-size:9.5px;font-weight:500;line-height:1.2;color:#ffffffe0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.personal-identity .personal-monogram{position:static;transform:none;flex:0 0 20px;width:20px;height:20px;border-radius:4px;font-size:9px;letter-spacing:.2px;color:#fff;background:#ffffff13;border-color:#ffffff30}
.personal-identity>img.personal-favicon{position:static;flex:0 0 20px;width:20px;height:20px;max-width:20px;object-fit:contain;border-radius:4px}
.personal-link.has-personal-favicon .personal-monogram,.personal-image-preview.has-personal-favicon .personal-monogram{display:none}
.personal-card--generated-style .personal-link:after{content:none}
.personal-card--generated-style .personal-edit{background:#00000021}
.personal-card--with-image .personal-identity{display:none}
.personal-card--with-image .personal-link:after,.personal-image-preview.personal-card--with-image:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,#000c);pointer-events:none}
.personal-card--with-image .personal-title{z-index:1;text-shadow:0 1px 5px #0008}
.personal-image-preview{display:flex;flex-direction:column;justify-content:flex-end;padding:9px 12px}
.personal-image-preview img.personal-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.personal-image-preview .personal-title{position:relative;z-index:1;font-size:14px}
.personal-image-preview .personal-identity{top:8px;max-width:calc(100% - 24px)}
.personal-card img[hidden],.personal-image-preview img[hidden]{display:none}
