/* Diseño del atlas de verbos (atlas.wordkers.com, gen_pagina_verbo.py) + añadidos del atlas por sentidos. */

  :root{
    --paper:#F4EEE3; --card:#FBF7EF; --ink:#221D17; --stone:#6E5D48;
    --line:#E4D8C5; --terra:#BC6F36; --terra-soft:#E8CDAB; --inverse:#4C6255; --neg:#9A4B3B;
    --shadow:0 1px 2px rgba(33,29,24,.06),0 8px 26px rgba(33,29,24,.07);
  }
  @media (prefers-color-scheme:dark){
    :root:not([data-theme="light"]){
      --paper:#17130E; --card:#211C15; --ink:#F0E7D7; --stone:#B7A587;
      --line:#382F24; --terra:#D68A4F; --terra-soft:#4A3624; --inverse:#8FB1A0; --neg:#D08A78;
      --shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px rgba(0,0,0,.35);
    }
  }
  :root[data-theme="dark"]{
    --paper:#17130E; --card:#211C15; --ink:#F0E7D7; --stone:#B7A587;
    --line:#382F24; --terra:#D68A4F; --terra-soft:#4A3624; --inverse:#8FB1A0; --neg:#D08A78;
    --shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px rgba(0,0,0,.35);
  }
  *{box-sizing:border-box}
  body{margin:0; background:var(--paper); color:var(--ink);
    font-family:"Spectral",Georgia,serif; font-size:18px; line-height:1.62; -webkit-font-smoothing:antialiased}
  .wrap{max-width:820px; margin:0 auto; padding:48px 24px 90px}
  .brand{font-family:"Spline Sans Mono",monospace; font-size:12px; letter-spacing:.22em;
    text-transform:uppercase; color:var(--stone); margin-bottom:34px}
  .brand b{color:var(--terra); font-weight:500}
  header.entry{border-bottom:1px solid var(--line); padding-bottom:22px; margin-bottom:8px}
  .lemma{font-family:"Fraunces",serif; font-weight:900; font-size:clamp(56px,12vw,104px);
    line-height:.9; letter-spacing:-.02em; margin:0}
  .gram{font-family:"Spline Sans Mono",monospace; font-size:13px; letter-spacing:.12em;
    text-transform:uppercase; color:var(--stone); margin-top:14px}
  .gram .cat{color:var(--terra)}
  .sec-label{font-family:"Spline Sans Mono",monospace; font-size:12px; letter-spacing:.24em;
    text-transform:uppercase; color:var(--terra); margin:52px 0 14px; font-weight:500}
  .nucleo{font-family:"Fraunces",serif; font-weight:400; font-size:clamp(22px,3.4vw,30px);
    line-height:1.34; margin:0 0 14px; text-wrap:balance}
  .nucleo b{font-weight:600}
  .nucleo-note{color:var(--stone); font-size:16.5px; margin:0}
  .nucleo-note em{color:var(--terra); font-style:normal; font-family:"Spline Sans Mono",monospace; font-size:13.5px}
  figure.graph{margin:6px 0 8px; background:var(--card); border:1px solid var(--line);
    border-radius:16px; box-shadow:var(--shadow); overflow:hidden}
  figure.graph svg{display:block; width:100%; height:auto}
  figcaption{font-size:14.5px; color:var(--stone); text-align:center; padding:2px 22px 18px; margin:0}
  .edge{stroke:var(--terra); stroke-width:1.6; opacity:.55}
  .edge.inv{stroke:var(--inverse)}
  .center{fill:var(--terra)}
  .center-txt{fill:#FBF7EF; font-family:"Fraunces",serif; font-weight:900; font-size:34px}
  .nbox{fill:var(--paper); stroke:var(--line); stroke-width:1.4}
  .nbox.inv{stroke:var(--inverse)}
  .nverb{fill:var(--ink); font-family:"Fraunces",serif; font-weight:600; font-size:22px}
  .nseme{fill:var(--stone); font-family:"Spline Sans Mono",monospace; font-size:11.5px}
  .nseme.hot{fill:var(--terra)}
  .nseme.cold{fill:var(--inverse)}
  .marco{background:var(--card); border:1px solid var(--line); border-radius:14px;
    box-shadow:var(--shadow); padding:20px 22px}
  .marco-def{margin:0 0 14px; font-size:17px}
  .roles{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:12px}
  .role{font-family:"Spline Sans Mono",monospace; font-size:13px; letter-spacing:.06em;
    background:var(--terra-soft); color:var(--ink); border-radius:999px; padding:6px 14px}
  .marco-note{color:var(--stone); font-size:15px; margin:0}
  .marco-note b{color:var(--ink); font-weight:600}
  /* ejemplos del marco, con Sujeto/CD/CI coloreados */
  .marco-ej{list-style:none; margin:0 0 12px; padding:0; display:grid; gap:5px}
  .marco-ej li{font-style:italic; font-size:14.5px; color:var(--stone);
    padding-left:15px; position:relative}
  .marco-ej li::before{content:"›"; position:absolute; left:0; font-style:normal; color:var(--terra)}
  .fS,.fCD,.fCI{font-weight:600}
  .fS{color:var(--r-esp)} .fCD{color:var(--r-syn)} .fCI{color:var(--r-gen)}
  .fS sup,.fCD sup,.fCI sup{font-family:"Spline Sans Mono",monospace; font-size:9px;
    font-weight:500; letter-spacing:.03em; opacity:.8; margin-left:1px}
  .campo{font-family:"Spline Sans Mono",monospace; font-size:14.5px; line-height:2.1;
    color:var(--ink); margin:0 0 8px}
  .campo .term{text-decoration:underline dotted var(--terra); text-underline-offset:4px;
    cursor:default; transition:color .12s}
  .campo .term:hover{color:var(--terra)}
  .campo .term.nomot{text-decoration:none; cursor:default; color:var(--stone)}
  .campo-note{color:var(--stone); font-size:15px; margin:0}
  .campo-note b{color:var(--ink); font-weight:600}
  /* campo agrupado por relación */
  .campo2{display:grid; gap:12px; margin:2px 0 10px}
  .camporow{display:grid; grid-template-columns:130px 1fr; gap:14px; align-items:baseline}
  @media(max-width:600px){.camporow{grid-template-columns:1fr; gap:3px}}
  .campotag{font-family:"Spline Sans Mono",monospace; font-size:11px; letter-spacing:.08em;
    text-transform:uppercase; padding-top:3px}
  .campotag.r-esp{color:var(--r-esp)} .campotag.r-syn{color:var(--r-syn)}
  .campotag.r-opp{color:var(--r-opp)} .campotag.r-gen{color:var(--r-gen)}
  .campolist{font-family:"Spline Sans Mono",monospace; font-size:14px; line-height:2}
  .campolist .term{text-decoration:underline dotted var(--stone); text-underline-offset:4px; cursor:default}
  .campolist .term.nomot{text-decoration:none; cursor:default; color:var(--stone)}
  .node{cursor:default}
  .node:hover .nbox{stroke:var(--terra); stroke-width:2}

  /* tooltip de verdad: burbuja instantánea (sustituye al title nativo) */
  [data-tip]{position:relative}
  [data-tip]:hover::after{
    content:attr(data-tip); position:absolute; left:50%; bottom:calc(100% + 9px);
    transform:translateX(-50%); background:var(--ink); color:var(--paper);
    font-family:"Spline Sans Mono",monospace; font-size:12.5px; font-weight:400; line-height:1.45;
    letter-spacing:0; text-transform:none; text-align:left; white-space:normal; width:max-content;
    max-width:270px; padding:9px 12px; border-radius:9px; box-shadow:var(--shadow);
    z-index:30; pointer-events:none}
  [data-tip]:hover::before{
    content:""; position:absolute; left:50%; bottom:calc(100% + 3px); transform:translateX(-50%);
    border:6px solid transparent; border-top-color:var(--ink); z-index:30; pointer-events:none}
  .diffs{list-style:none; margin:18px 0 0; padding:0; display:grid; gap:12px}
  .diffs li{background:var(--card); border:1px solid var(--line); border-left:3px solid var(--terra);
    border-radius:10px; padding:13px 17px; font-size:16.5px}
  .diffs b{font-family:"Fraunces",serif; font-weight:600}
  .diffs .vs{font-family:"Spline Sans Mono",monospace; font-size:12px; letter-spacing:.1em;
    text-transform:uppercase; color:var(--terra); display:block; margin-bottom:3px}
  ol.aceps{margin:16px 0 0; padding:0; counter-reset:a; list-style:none}
  ol.aceps li{counter-increment:a; position:relative; padding:9px 0 9px 44px; border-bottom:1px solid var(--line)}
  ol.aceps li::before{content:counter(a); position:absolute; left:0; top:9px;
    font-family:"Spline Sans Mono",monospace; font-size:13px; color:var(--terra);
    border:1px solid var(--line); border-radius:6px; width:28px; height:28px;
    display:flex; align-items:center; justify-content:center}
  ol.aceps .ej{color:var(--stone); font-style:italic}
  .aceps-note{color:var(--stone); font-size:15px; margin:10px 0 0}
  .foot{margin-top:60px; padding-top:20px; border-top:1px solid var(--line);
    color:var(--stone); font-size:14.5px}
  .foot b{color:var(--terra); font-weight:500; font-family:"Spline Sans Mono",monospace;
    font-size:13px; letter-spacing:.04em}

  /* claves del lema */
  .claves{display:flex; align-items:center; gap:14px; margin-top:12px; flex-wrap:wrap}
  .star{color:var(--terra); font-size:19px; letter-spacing:2px}
  .trend{font-family:"Spline Sans Mono",monospace; font-weight:500; font-size:19px; line-height:1}
  .trend.t-up{color:#4C8A5A} .trend.t-down{color:#B0553F} .trend.t-eq{color:var(--stone)}
  .badge{font-family:"Spline Sans Mono",monospace; font-size:12px; letter-spacing:.08em;
    text-transform:uppercase; text-decoration:none; border-radius:999px; padding:5px 13px; border:1px solid}
  .badge.b-regular{color:var(--inverse); border-color:var(--inverse)}
  .badge.b-irregular{color:var(--terra); border-color:var(--terra); background:var(--terra-soft)}

  /* nav de las tres capas */
  .capas{display:flex; align-items:center; gap:6px; margin-top:12px; flex-wrap:wrap}
  .capa{font-family:"Spline Sans Mono",monospace; font-size:11.5px; letter-spacing:.08em;
    text-transform:uppercase; text-decoration:none; color:var(--stone); border:1px solid var(--line);
    border-radius:999px; padding:4px 12px; transition:color .12s,border-color .12s}
  a.capa:hover{color:var(--terra); border-color:var(--terra)}
  .capa.aqui{color:var(--terra); border-color:var(--terra); background:var(--terra-soft); cursor:default}

  /* enlaces del grafo */
  a.glink{cursor:pointer}
  a.glink .nbox{transition:stroke-width .1s}
  a.glink:hover .nbox{stroke-width:3}
  a.tlinkwrap{text-decoration:none}
  a.tlinkwrap .term{color:var(--terra); text-decoration-style:solid}
  a.vlink{color:var(--terra); text-decoration:underline dotted; text-underline-offset:3px; cursor:pointer}
  a.glink,a.tlinkwrap,a.tlinkwrap .term{cursor:pointer}

  /* marco: rol semántico ⇒ función sintáctica */
  .rolmapas{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:12px}
  .rolmap{display:inline-flex; align-items:center; gap:8px; border:1px solid var(--line);
    border-radius:10px; padding:7px 13px; background:var(--paper); cursor:default}
  .rolmap.nuc{border-left:3px solid var(--terra)}
  .rolmap.circ{opacity:.72}
  .rol-sem{font-family:"Fraunces",serif; font-weight:600}
  .rol-flecha{color:var(--stone)}
  .rol-fun{font-family:"Spline Sans Mono",monospace; font-size:12px; letter-spacing:.05em; color:var(--terra)}

  /* colores por tipo de relación */
  :root{--r-esp:#BC6F36; --r-syn:#4C6255; --r-opp:#9B4A57; --r-gen:#3E6A8E;}
  @media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
    --r-esp:#D68A4F; --r-syn:#8FB1A0; --r-opp:#CE8794; --r-gen:#7BA6C9;}}
  :root[data-theme="dark"]{--r-esp:#D68A4F; --r-syn:#8FB1A0; --r-opp:#CE8794; --r-gen:#7BA6C9;}
  .edge{stroke-width:1.6; opacity:.5}
  .edge.r-esp{stroke:var(--r-esp)} .edge.r-syn{stroke:var(--r-syn)}
  .edge.r-opp{stroke:var(--r-opp)} .edge.r-gen{stroke:var(--r-gen)}
  .nbox.r-esp{stroke:var(--r-esp)} .nbox.r-syn{stroke:var(--r-syn)}
  .nbox.r-opp{stroke:var(--r-opp)} .nbox.r-gen{stroke:var(--r-gen)}
  .nseme.r-esp{fill:var(--r-esp)} .nseme.r-syn{fill:var(--r-syn)}
  .nseme.r-opp{fill:var(--r-opp)} .nseme.r-gen{fill:var(--r-gen)}
  .leyenda{display:flex; flex-wrap:wrap; gap:16px; margin:0 2px 6px; padding:12px 2px 0}
  .leg{display:inline-flex; align-items:center; gap:7px; font-family:"Spline Sans Mono",monospace;
    font-size:12.5px; letter-spacing:.04em; color:var(--stone)}
  .dot{width:12px; height:12px; border-radius:3px; display:inline-block}
  .dot.r-esp{background:var(--r-esp)} .dot.r-syn{background:var(--r-syn)}
  .dot.r-opp{background:var(--r-opp)} .dot.r-gen{background:var(--r-gen)}

  /* Venn por pares */
  .venn-rule{background:var(--card); border:1px solid var(--line); border-left:3px solid var(--terra);
    border-radius:12px; padding:12px 16px; font-size:15px; margin:2px 0 14px}
  .venn-rule b{font-family:"Spline Sans Mono",monospace; font-size:12px; letter-spacing:.1em;
    text-transform:uppercase; color:var(--terra); font-weight:500}
  .venngrid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px}
  @media(max-width:720px){.venngrid{grid-template-columns:1fr}}
  .vcard{background:var(--card); border:1px solid var(--line); border-radius:16px;
    box-shadow:var(--shadow); padding:18px 18px 20px; display:flex; flex-direction:column}
  .vhead{display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:2px}
  .vpair{font-family:"Fraunces",serif; font-weight:600; font-size:20px}
  .vrel{font-family:"Spline Sans Mono",monospace; font-size:10.5px; letter-spacing:.08em;
    text-transform:uppercase; color:var(--terra); white-space:nowrap; text-align:right}
  .vrel.inv{color:var(--inverse)} .vrel.neg{color:var(--neg)}
  .vcard svg{display:block; width:100%; height:auto; margin:6px 0 10px}
  .c-dar{fill:var(--terra); fill-opacity:.15; stroke:var(--terra); stroke-width:2}
  .c-nb{fill:var(--inverse); fill-opacity:.22; stroke:var(--inverse); stroke-width:2}
  .c-neg{fill:var(--neg); fill-opacity:.16; stroke:var(--neg); stroke-width:2}
  .vlab{font-family:"Fraunces",serif; font-weight:600; font-size:16px; fill:var(--ink)}
  .vlab.nb{fill:var(--inverse)} .vlab.ng{fill:var(--neg)}
  .vtag{font-family:"Spline Sans Mono",monospace; font-size:10.5px; fill:var(--stone)}
  .varrow{stroke:var(--inverse); stroke-width:2; fill:none}
  .vfill-inv{fill:var(--inverse)}
  .vx{font-family:"Fraunces",serif; font-weight:900; font-size:30px; fill:var(--neg)}
  .ex{list-style:none; margin:0; padding:0; display:grid; gap:7px; font-size:15px}
  .ex li{padding-left:20px; position:relative; line-height:1.4}
  .ex li::before{position:absolute; left:0; top:0; font-family:"Spline Sans Mono",monospace; font-size:13px}
  .ex .both::before{content:"✓"; color:var(--terra)}
  .ex .only::before{content:"→"; color:var(--stone)}
  .ex .same::before{content:"⇄"; color:var(--inverse)}
  .ex .none::before{content:"≠"; color:var(--neg)}
  .ex i{color:var(--stone)}
  .ex b{font-family:"Spline Sans Mono",monospace; font-size:12px; letter-spacing:.03em;
    text-transform:uppercase; color:var(--stone); font-weight:500}
  .seme{margin-top:11px; font-size:14.5px; color:var(--stone)}
  .seme b{color:var(--terra); font-family:"Fraunces",serif; font-weight:600; font-style:normal}

  /* ---- añadidos del atlas por sentidos (25/09/2026) ---- */
  .busca{display:flex; gap:8px; margin:-18px 0 26px}
  .busca input{flex:1; min-width:0; font:inherit; font-size:15px; background:var(--card); color:var(--ink);
    border:1px solid var(--line); border-radius:999px; padding:7px 16px}
  .busca button{font-family:"Spline Sans Mono",monospace; font-size:12px; letter-spacing:.08em; text-transform:uppercase;
    background:var(--terra); color:#FBF7EF; border:0; border-radius:999px; padding:7px 16px; cursor:pointer}
  .flecha{font-family:"Spline Sans Mono",monospace; font-size:11px; line-height:1; background:none; border:1px solid var(--line);
    color:var(--stone); border-radius:6px; padding:2px 5px; margin:0 8px 0 3px; cursor:pointer; vertical-align:1px}
  .flecha:hover,.flecha.on{color:var(--terra); border-color:var(--terra)}
  .defbox{grid-column:1/-1; background:var(--card); border:1px solid var(--line); border-left:3px solid var(--terra);
    border-radius:10px; padding:9px 14px; font-size:15.5px; margin:2px 0 4px}
  .defbox b{font-family:"Fraunces",serif; font-weight:600}
  .defbox .fm{display:block; color:var(--stone); font-style:italic; font-size:14.5px}
  .rolmap .rol-marca{font-family:"Spline Sans Mono",monospace; font-size:11px; color:var(--stone)}
  ol.aceps a{color:var(--ink); text-decoration:none} ol.aceps a:hover{color:var(--terra)}
  ol.aceps li.aqui a{color:var(--terra); font-weight:600}
  ol.aceps li::before{content:"›"}
  .vacio{color:var(--stone); font-size:17px; margin:40px 0}
  .vtagline{font-family:"Spline Sans Mono",monospace; font-size:12px; color:var(--stone); text-align:center; margin:-4px 0 10px}
  .vtagline b{font-family:"Fraunces",serif; font-size:14px; font-weight:600; color:var(--inverse)}

  /* «En discusión»: el Venn que la revisión no aprueba se enseña, con su motivo, sin tono de error (Eduardo, 27/09/2026) */
  .seme.discusion{font-style:normal; border-top:1px dashed var(--line); padding-top:8px}
  .seme.discusion b{font-family:"Spline Sans Mono",monospace; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--terra)}
  /* la banda de alfa, en la esquina superior (Eduardo, 27/09/2026: «lo publicaría como está con una banda que ponga Alfa») */
  .alfa{position:fixed; top:22px; right:-46px; z-index:50; transform:rotate(45deg); width:180px; padding:5px 0; text-align:center;
    background:var(--terra); color:#fff; font-family:"Spline Sans Mono",monospace; font-size:12px; font-weight:500; letter-spacing:.2em;
    text-transform:uppercase; box-shadow:0 2px 6px rgba(0,0,0,.18); pointer-events:none}

  /* el logo del atlas en la cabecera (del repo brand; publicar-atlas.sh lo pone en línea): «la escena», color del texto */
  .logo-atlas{width:1.35em; height:1.35em; vertical-align:-0.3em; margin-right:.45em; color:var(--terra)}
