/* Blog adaptations: one editorial column, readable prose, visible keyboard focus. */
*{box-sizing:border-box}
html{color-scheme:light;background:var(--mori-ochre);font-family:var(--mori-font);letter-spacing:var(--mori-tracking)}
body{margin:0;color:var(--mori-ink);font-size:1.125rem;line-height:1.8;overflow-wrap:anywhere;isolation:isolate}
body::before{content:"";position:fixed;inset:0;z-index:-1;background:url('/images/mori-background.png') center center/cover no-repeat;pointer-events:none}
@media(orientation:portrait){body::before{background-image:url('/images/mori-background-mobile.png')}}
.site-header,main,.site-footer{width:min(100% - 48px,780px);margin-inline:auto}
.site-header{text-align:center;padding:42px 0 28px}
.site-title{margin:0}
.brand{display:inline-block;font-size:clamp(1.5rem,6vw,2.75rem);font-weight:600;line-height:1.3;text-decoration:none;background:var(--mori-card);padding:8px 12px;border-radius:var(--mori-radius);box-shadow:var(--mori-shadow)}
main{min-height:55vh;padding:24px 0}
a{color:inherit;text-underline-offset:.2em}
a:hover{text-decoration-thickness:2px}
a:focus-visible{outline:3px solid var(--mori-ochre);outline-offset:2px;box-shadow:0 0 0 6px var(--mori-ink);border-radius:2px}
h1,h2,h3,h4,h5,h6{line-height:1.3;text-wrap:balance}
.entries{display:grid;gap:24px}
.entry,.reading-panel,.empty{background:var(--mori-card);border:var(--mori-border);border-radius:var(--mori-radius);box-shadow:var(--mori-shadow);min-width:0}
.entry{padding:12px;transition:background-color .15s ease}
.entry:hover{background:var(--mori-card-hover)}
.entry-heading{background:var(--mori-heading);color:var(--mori-ochre);border:var(--mori-heading-border);border-radius:var(--mori-radius)}
.entry-heading h2{font-size:1.5rem;font-weight:var(--mori-semibold);margin:0}
.entry-heading a{display:block;padding:var(--mori-heading-padding);text-decoration:none}
.entry-heading a:hover{text-decoration:underline}
.entry-excerpt{margin:16px 12px;color:var(--mori-secondary);font-weight:500}
.entry-meta{display:flex;flex-wrap:wrap;gap:12px 32px;margin:0;padding:12px;background:var(--mori-meta);color:var(--mori-ochre);border-radius:var(--mori-radius);font-size:1rem;line-height:1.6}
.entry-meta>div{flex:1 1 160px;min-width:0}
.entry-meta dt{font-weight:700}
.entry-meta dd{margin:0}
.reading-panel{padding:clamp(16px,4vw,32px)}
.article-header h1{font-size:clamp(1.75rem,5vw,2.5rem);margin:0 0 24px}
.article-header{margin-bottom:32px}
.prose h2,.prose h3{margin-top:2em}
.prose img{display:block;max-width:100%;height:auto;margin:2em auto}
.prose a{text-decoration:underline;font-weight:600}
.prose blockquote{margin:1.5em 0;padding-left:20px;border-left:3px solid var(--mori-ink)}
pre{overflow-x:auto;padding:16px;background:var(--mori-meta);color:var(--mori-ochre);font-size:.9375rem;border-radius:6px}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}
th,td{padding:10px;border:var(--mori-border);text-align:left}
.back{text-align:center;margin-top:32px}
.back a,.site-footer,.page-heading,.empty{background:var(--mori-card);padding:12px;border-radius:var(--mori-radius)}
.site-footer{text-align:center;font-size:.9375rem;margin-bottom:24px}
.skip{position:absolute;left:-10000px}
.skip:focus{position:fixed;left:16px;top:16px;z-index:10;padding:8px 12px;background:var(--mori-ochre)}
@media(max-width:480px){.site-header,main,.site-footer{width:calc(100% - 32px)}.site-header{padding-top:28px}.entry{padding:8px}.entry-excerpt{margin:16px 8px}.entry-meta{gap:8px}.entry-meta>div{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.entry{transition:none}}
/* Accessibility adaptations: retain source tokens; reinforce small-text surfaces. */
:root{--mori-reading:rgba(194,153,94,.98);--mori-small-ochre:#f0d39f}
.entry,.entry:hover,.reading-panel,.brand,.site-footer,.back a,.page-heading,.empty{background-color:var(--mori-reading)}
.entry-excerpt{color:var(--mori-ink)}
.entry-meta,pre{color:var(--mori-small-ochre)}

/* MORI CARD INTERACTION V2 */
.entry {
  position: relative;
  background-color: var(--mori-card);
}
.entry:hover,
.entry:focus-within {
  background-color: var(--mori-card-hover);
}

/* Un solo enlace semántico; su área cubre toda la tarjeta. */
.entry-heading a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: var(--mori-radius);
}
.entry:focus-within {
  outline: 3px solid var(--mori-ink);
  outline-offset: 4px;
}

.entry-meta {
  background: transparent;
  padding: 0;
  gap: 12px;
  color: var(--mori-ochre);
}
.entry-meta > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  background: var(--mori-meta);
  border-radius: var(--mori-radius);
  text-align: center;
}
.entry-meta dd {
  order: 0;
  color: var(--mori-ochre);
  font-weight: 600;
}
.entry-meta dt {
  order: 1;
  color: var(--mori-ochre);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .05em;
}

/* MORI TYPOGRAPHY AND FOCUS V3 */
body {
  font-size: .875rem;
  line-height: 1.6;
}
.brand {
  font-size: 1.5rem;
}
.entry-heading h2 {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.entry-excerpt,
.entry-meta {
  font-size: .875rem;
  line-height: 1.25rem;
}
.entry-meta dt {
  font-size: .75rem;
  font-weight: 700;
}
.entry-meta dd {
  font-weight: 400;
}
.article-header h1,
.page-heading {
  font-size: 1.5rem;
}
.prose h2 {
  font-size: 1.25rem;
}
.prose h3 {
  font-size: 1.125rem;
}
.prose h4,
.prose h5,
.prose h6 {
  font-size: 1rem;
}
pre {
  font-size: .875rem;
}

/* Títulos sin subrayado en ningún estado. */
.entry-heading a,
.entry-heading a:hover,
.entry-heading a:focus,
.entry-heading a:focus-visible,
.entry-heading a:active {
  text-decoration: none;
}

/* El clic no dibuja borde; el teclado conserva foco visible. */
.entry:focus-within {
  outline: none;
}
.entry:has(.entry-heading a:focus-visible) {
  outline: 2px solid var(--mori-ochre);
  outline-offset: 3px;
  box-shadow: 0 0 0 5px var(--mori-ink);
}
.entry-heading a:focus {
  outline: none;
  box-shadow: none;
}

.site-footer {
  background-color: var(--mori-meta);
  color: var(--mori-ochre);
  font-size: .75rem;
  line-height: 1.25rem;
}

/* MORI CARD LAYOUT V4 */
.entry-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.entry-meta dd,
.entry-meta dd time {
  font-family: var(--mori-font);
  font-size: .875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.25rem;
  letter-spacing: normal;
  font-variant-numeric: normal;
  color: var(--mori-ochre);
}
.brand {
  font-size: 1.75rem;
}
.site-header {
  padding: 28px 0 0;
}
main {
  min-height: 0;
  padding: 16px 0;
}
.site-footer {
  margin-top: 0;
}
@media (max-width: 480px) {
  .entry-meta {
    grid-template-columns: 1fr;
  }
}

/* MORI EXCERPT LINE BREAKS V5 */
.entry-excerpt {
  white-space: pre-line;
}

/* MORI EXCERPT: explicit paragraphs, no leading template whitespace */
.entry-excerpt {
  white-space: normal;
}
.entry-excerpt > p {
  margin: 0;
  white-space: pre-line;
}
.entry-excerpt > p + p {
  margin-top: 1em;
}

/* MORI ARTICLE AND COMPACT METADATA V6 */
.entry-meta > div {
  padding: 6px 12px;
}

.reading-panel {
  background-color: var(--mori-card);
}

.article-header h1,
.prose h2,
.prose h3,
.prose h4,
.prose h5,
.prose h6 {
  background-color: var(--mori-heading);
  color: var(--mori-ochre);
  border: var(--mori-heading-border);
  border-radius: var(--mori-radius);
  padding: var(--mori-heading-padding);
}

/* MORI SPACING V7 */
.entry-meta > div {
  padding: 4px 12px;
}
.article-header h1 {
  margin-bottom: 12px;
}

/* MORI TABLES AND SCROLL V8 */

/* Ocultar barras sin desactivar el desplazamiento. */
html,
body,
.table-scroll,
.prose pre {
  scrollbar-width: none;
}
html::-webkit-scrollbar,
body::-webkit-scrollbar,
.table-scroll::-webkit-scrollbar,
.prose pre::-webkit-scrollbar {
  display: none;
}

/* El contenedor permite desplazar tablas anchas. */
.table-scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  margin: 1.5em 0;
}
.table-scroll:focus-visible {
  outline: 2px solid var(--mori-ink);
  outline-offset: 3px;
}
.prose table {
  display: table;
  width: 100%;
  max-width: none;
  border-collapse: collapse;
  margin: 0;
}
.prose th,
.prose td {
  padding: 8px 12px;
  border: var(--mori-border);
  vertical-align: top;
}
.prose th {
  background-color: var(--mori-meta);
  color: var(--mori-ochre);
  font-weight: 700;
}
.prose tbody tr:nth-child(even) {
  background-color: rgba(94, 24, 17, .07);
}

/* MORI CODE SURFACES V9 */
:root {
  --mori-subtle-surface: rgba(94, 24, 17, .07);
}
.prose tbody tr:nth-child(even) {
  background-color: var(--mori-subtle-surface);
}
.prose :not(pre) > code,
.prose kbd,
.prose samp {
  background-color: var(--mori-subtle-surface);
  color: var(--mori-ink);
  padding: .1em .3em;
  border-radius: 3px;
}
.prose pre {
  background: var(--mori-subtle-surface) !important;
  color: var(--mori-ink) !important;
}
.prose pre code,
.prose pre kbd,
.prose pre samp,
.prose pre span {
  background: transparent !important;
  color: inherit !important;
}
.prose pre code,
.prose pre kbd,
.prose pre samp {
  padding: 0;
}

/* MORI MOBILE METADATA ROW V10 */
@media (max-width: 480px) {
  .entry-meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }
  .entry-meta > div {
    min-width: 0;
    padding: 4px 6px;
  }
  .entry-meta dd {
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}
