/* La Luna del día. Tokens de DESIGN.md: papel, tinta y un acento; superficies planas, sin sombras. */
.lu{max-width:880px;margin-left:0;margin-right:auto}
.lu h2{font:500 1.375rem/1.2 var(--av-sans);letter-spacing:-.015em;margin:0 0 10px}
.lu-k{font:500 .6875rem var(--av-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--av-muted);margin:0 0 6px}
.lu-now{border:1px solid var(--av-ink);border-radius:8px;background:var(--av-surface);padding:22px;margin:0 0 28px}
.lu-now h2{font-size:1.75rem;margin:0 0 14px}
.lu-facts{display:grid;gap:14px 24px;grid-template-columns:repeat(2,1fr);margin:0 0 16px}
@media (min-width:640px){.lu-facts{grid-template-columns:repeat(4,1fr)}}
.lu-facts dt{font:500 .6875rem var(--av-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--av-muted);margin:0 0 3px}
.lu-facts dd{margin:0;font:500 1.0625rem/1.25 var(--av-sans)}
.lu-pill{margin:10px 0 0;max-width:64ch;line-height:1.55}
.lu-sec{margin:0 0 30px}
.lu-voc{margin:0 0 10px;padding:12px 14px;border:1px solid var(--av-rule);border-radius:6px;background:var(--av-surface)}
.lu-voc.is-on{border-color:var(--av-accent)}
.lu-hint{font-size:.9375rem;color:var(--av-muted);margin:0 0 14px;max-width:68ch;line-height:1.55}
.lu-table{width:100%;border-collapse:collapse;font-size:.9375rem}
.lu-table th,.lu-table td{text-align:left;padding:9px 10px 9px 0;border-top:1px solid var(--av-rule);vertical-align:top;font-weight:400}
.lu-table thead th{font:500 .6875rem var(--av-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--av-muted);border-top:0;border-bottom:1px solid var(--av-ink)}
.lu-table tbody th{font-weight:500}
.lu-table tr.is-now th,.lu-table tr.is-now td{background:transparent;color:var(--av-accent)}
.lu-small{color:var(--av-muted);font-size:.8125rem}
@media (max-width:560px){.lu-table thead{display:none}.lu-table tr{display:block;border-top:1px solid var(--av-rule);padding:8px 0}.lu-table th,.lu-table td{display:block;border:0;padding:2px 0}}
.lu-phases{list-style:none;margin:0;padding:0;display:grid;gap:0}
.lu-ph{display:grid;grid-template-columns:1fr auto;gap:2px 16px;padding:11px 0;border-top:1px solid var(--av-rule)}
.lu-ph:first-child{border-top:1px solid var(--av-ink)}
.lu-ph-n{font-weight:500}
.lu-ph-s{color:var(--av-muted);grid-column:1}
.lu-ph-t{grid-column:2;grid-row:1 / span 2;align-self:center;font:500 .875rem var(--av-mono);color:var(--av-ink);text-align:right}
.lu-ph-new .lu-ph-n,.lu-ph-full .lu-ph-n{color:var(--av-accent)}
.lu-years{display:flex;align-items:center;gap:20px;margin:0 0 22px;font:500 1rem var(--av-sans)}
.lu-years a{color:var(--av-accent);text-decoration:underline;text-underline-offset:3px}
.lu-years strong{font:500 1.25rem var(--av-mono)}
.lu-det{border-top:1px solid var(--av-rule);padding:10px 0}
.lu-det:last-of-type{border-bottom:1px solid var(--av-rule)}
.lu-det summary{cursor:pointer;font-weight:500}
.lu-det p{margin:8px 0 0;max-width:64ch;line-height:1.55}
.cal-ev{border-top:1px solid var(--av-rule);padding:14px 0}
.cal-ev h2,.cal-ev h3{font:500 1.0625rem/1.3 var(--av-sans);margin:0 0 4px}
.cal-when{margin:0;font:500 .875rem var(--av-mono);color:var(--av-accent)}
.cal-txt{margin:8px 0 0;max-width:64ch;line-height:1.55}
.lu .av-btn{display:inline-flex;margin:0 0 22px}
.sol-form{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 6px}
.sol-form label{font:500 .875rem var(--av-sans)}
.sol-form select,.sol-form input[type=text]{font:400 1rem var(--av-sans);color:var(--av-ink);background:var(--av-paper);border:1px solid var(--av-rule);border-radius:6px;padding:8px 10px;min-height:40px}
.sol-place{position:relative;flex:1 1 220px;min-width:200px}
.sol-place input[type=text]{width:100%;box-sizing:border-box}
.sol-wheel{max-width:560px;margin:0 0 18px}
.sol-wheel svg{width:100%;height:auto;display:block}
.sol-form select{width:auto;min-width:96px}
.sol-form input[type=date]{width:auto;font:400 1rem var(--av-sans);color:var(--av-ink);background:var(--av-paper);border:1px solid var(--av-rule);border-radius:6px;padding:8px 10px;min-height:40px}
.ic textarea{width:100%;box-sizing:border-box;font:400 1rem/1.5 var(--av-sans);color:var(--av-ink);background:var(--av-paper);border:1px solid var(--av-rule);border-radius:6px;padding:10px 12px;margin:0 0 6px}
.ic-q{font:500 .875rem var(--av-sans);display:block;margin:0 0 6px}
.ic-stage{border:1px solid var(--av-rule);border-radius:8px;background:var(--av-surface);padding:18px;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:20px 36px;align-items:center}
.ic-coins{display:flex;gap:14px}
.ic-coin{width:46px;height:46px;border-radius:50%;border:2px solid var(--av-ink);background:var(--av-paper);display:block;position:relative}
.ic-coin::after{content:"";position:absolute;inset:14px;border:2px solid var(--av-ink);border-radius:2px}
.ic-coins.is-throw .ic-coin{animation:ic-flip .75s cubic-bezier(.3,.7,.4,1) both}
.ic-coins.is-throw .ic-coin:nth-child(2){animation-delay:.07s}.ic-coins.is-throw .ic-coin:nth-child(3){animation-delay:.14s}
@keyframes ic-flip{0%{transform:translateY(0) rotateX(0)}45%{transform:translateY(-34px) rotateX(540deg)}100%{transform:translateY(0) rotateX(1080deg)}}
@media (prefers-reduced-motion:reduce){.ic-coins.is-throw .ic-coin{animation:none}}
.ic-build{display:flex;flex-direction:column;gap:6px;min-height:92px}
.ic-row{display:flex;align-items:center;gap:10px;color:var(--av-ink)}
.ic-n{font:500 .6875rem var(--av-mono);color:var(--av-muted)}
.ic-line.is-ch{color:var(--av-accent)}
.ic-hex{color:var(--av-ink);display:block;margin:6px 0 10px}
.ic-grid{list-style:none;margin:0;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.ic-grid a{display:flex;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--av-rule);border-radius:6px;color:var(--av-ink);text-decoration:none;font-size:.875rem;line-height:1.25}
.ic-grid a:hover,.ic-grid a:focus-visible{border-color:var(--av-accent);color:var(--av-accent)}
.ic-grid svg{flex:none}
.ru-ctl{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 20px}
.ru-out{display:grid;gap:14px;grid-template-columns:1fr;margin:0 0 20px}
@media (min-width:720px){.ru-out:has(.ru-card:nth-child(3)){grid-template-columns:repeat(3,1fr)}}
.ru-card{border:1px solid var(--av-ink);border-radius:8px;background:var(--av-surface);padding:16px}
.ru-card.is-flip{animation:ru-in .6s cubic-bezier(.2,.8,.3,1) both}
@keyframes ru-in{from{opacity:0;transform:translateY(14px) rotateY(70deg)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ru-card.is-flip{animation:none}}
.ru-top{display:flex;align-items:center;gap:16px;margin:4px 0 8px;color:var(--av-ink)}
.ru-top h3{margin:0;font:500 1.375rem var(--av-sans);letter-spacing:-.01em}
.ru-glyph{color:var(--av-ink);flex:none}
.ru-grid{list-style:none;margin:0;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}
.ru-grid a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;border:1px solid var(--av-rule);border-radius:6px;color:var(--av-ink);text-decoration:none;font-size:.875rem}
.ru-grid a:hover,.ru-grid a:focus-visible{border-color:var(--av-accent);color:var(--av-accent)}
.bio-svg{width:100%;max-width:720px;height:auto;display:block;margin:0 0 10px}
.bio-zero{stroke:var(--av-rule);stroke-width:1}
.bio-now{stroke:var(--av-muted);stroke-width:1;stroke-dasharray:2 4}
.bio-line{stroke-width:2.2}
.bio-p{stroke:var(--av-ink)}
.bio-e{stroke:var(--av-accent);stroke-dasharray:7 5}
.bio-i{stroke:var(--av-muted);stroke-dasharray:1.5 5}
.bio-legend{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-wrap:wrap;gap:6px 20px;font-size:.875rem;color:var(--av-muted)}
.bio-sw{display:inline-block;width:26px;height:0;border-top:3px solid;margin-right:8px;vertical-align:middle}
.bio-sw.bio-p{border-color:var(--av-ink)}.bio-sw.bio-e{border-top-style:dashed;border-color:var(--av-accent)}.bio-sw.bio-i{border-top-style:dotted;border-color:var(--av-muted)}
.co-row{margin:4px 0;max-width:68ch}
.jn-new{display:grid;gap:6px;margin:0 0 24px;max-width:640px}
.jn-new label{font:500 .875rem var(--av-sans)}
.jn-new input,.jn-new textarea,.jn input[type=search],.jn input[type=text]{font:400 1rem var(--av-sans);color:var(--av-ink);background:var(--av-paper);border:1px solid var(--av-rule);border-radius:6px;padding:8px 10px;box-sizing:border-box}
.jn-new textarea{width:100%}
.jn .cal-ev .av-btn{margin-top:8px}
.jn-save{grid-column:1/-1;display:grid;gap:6px;margin:6px 0 0;max-width:560px}
.jn-save label{font:500 .875rem var(--av-sans)}
.jn-save textarea{font:400 1rem var(--av-sans);color:var(--av-ink);background:var(--av-paper);border:1px solid var(--av-rule);border-radius:6px;padding:8px 10px;width:100%;box-sizing:border-box}
.hub-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.hub-card{border:1px solid var(--av-rule);border-radius:8px;background:var(--av-surface);padding:16px;display:flex;flex-direction:column;gap:4px}
.hub-card h2{font:500 1.0625rem var(--av-sans);margin:0 0 4px}
.hub-card p{margin:0;font-size:.9375rem;line-height:1.45}
.hub-link{margin-top:auto!important;padding-top:8px}
.hub-link a{color:var(--av-accent);text-decoration:underline;text-underline-offset:3px}
.cp-ack{flex:1 1 100%;margin:4px 0;font-size:.9375rem;line-height:1.45}
.cp-ack a{display:block;margin-top:4px;color:var(--av-accent)}
