/* Cinzel (SIL Open Font License), bundled for the wordmark only */
@font-face{font-family:"Cinzel";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/cinzel-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cinzel";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/cinzel-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* visitor questionnaire */
.fb{position:relative;margin-top:56px;padding:24px 26px}
.fb h2{margin:0 0 6px;font-size:1.35rem}
.fb p{margin:0 0 14px;color:var(--muted);max-width:60ch}
.fb-x{all:unset;cursor:pointer;position:absolute;top:10px;right:12px;width:38px;height:38px;display:grid;place-items:center;font-size:1.5rem;color:var(--muted);border-radius:50%}
.fb-x:hover{background:var(--panel2);color:var(--ink)}
.fb-o{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.fb-o label{cursor:pointer;position:relative}
.fb-o input{position:absolute;left:0;top:0;width:1px;height:1px;min-height:0;padding:0;margin:0;border:0;opacity:0;pointer-events:none}
.fb-o span{display:inline-block;padding:9px 15px;border:1px solid var(--line2);border-radius:999px;background:#12173a;color:var(--body);font-size:.93rem;line-height:1.3}
.fb-o label:hover span{border-color:var(--gold)}
.fb-o input:checked+span{background:var(--gold);border-color:var(--gold);color:var(--gold-ink);font-weight:600}
.fb-o input:focus-visible+span{outline:2px solid var(--gold2);outline-offset:2px}
.fb textarea{width:100%;padding:11px 14px;border-radius:12px;border:1px solid #5a62a8;background:#0c1026;color:var(--ink);font:1rem var(--sans);resize:vertical;color-scheme:dark}
.fb-hp{position:absolute!important;left:-9999px;width:1px;height:1px;min-height:0;opacity:0}
.fb-a{display:flex;align-items:center;gap:14px;margin-top:12px}
.fb-m{color:#ffb4a8;font-size:.92rem}

/* Privacy, legal notice and widgets pages (plugins/legal.js, plugins/widgets.js) */
.legal{max-width:760px}
.legal section{margin-top:26px}
.legal h2{margin:0 0 8px;font-size:1.25rem}
.legal p{margin:0 0 10px}
.legal .legal-date{margin:-4px 0 0}
.legal-box{background:#161b36;backdrop-filter:none;-webkit-backdrop-filter:none;margin-top:10px}
.legal-box p{margin:0;color:var(--ink)}
.legal-box .lf{color:var(--muted);font-weight:400}
.legal-box dl{margin:14px 0 0;display:grid;gap:8px}
.legal-box p+dl{padding-top:14px;border-top:1px solid var(--line)}
.legal-box dl:first-child{margin-top:0}
.legal-box dl div{display:grid;grid-template-columns:minmax(120px,34%) 1fr;gap:12px}
.legal-box dt{color:var(--muted);font-size:.92rem}
.legal-box dd{margin:0;color:var(--ink);overflow-wrap:anywhere}
.legal a,.legal-box a{color:var(--gold2);text-decoration:underline;text-underline-offset:3px}

.wdg{display:grid;grid-template-columns:320px minmax(0,1fr);gap:28px;align-items:start;margin-top:30px;padding:22px;background:#161b36;border:1px solid var(--line);border-radius:18px}
.wdg-prev{width:320px;max-width:100%}
.wdg-prev iframe{display:block;width:320px;max-width:100%;height:380px;border:0;border-radius:16px;background:#0b0e1f}
.wdg-code h2{margin:0 0 8px}
.wdg-code p{margin:0 0 14px;color:var(--body)}
.wdg-code label{display:block;margin-bottom:6px;font-size:.92rem;color:var(--muted)}
.wdg-code textarea{display:block;width:100%;box-sizing:border-box;min-height:128px;resize:vertical;padding:12px 14px;background:#0b0e1f;color:#e7e4f3;border:1px solid var(--line2);border-radius:12px;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-all}
.wdg-code textarea:focus{outline:2px solid var(--gold);outline-offset:2px}
.wdg-code .wdg-act{margin:12px 0 0}
.wdg-how{margin:0 0 16px;padding-left:22px;color:var(--body)}
.wdg-how li{margin:0 0 6px}
@media (max-width:760px){
  .wdg{grid-template-columns:1fr;padding:16px;gap:18px}
  .wdg-prev{margin:0 auto}
  .legal-box dl div{grid-template-columns:1fr;gap:2px}
}

/* Long-tail pages: sign pairs, year pages, moon phase by date (plugins/pairs.js, years.js, moondate.js) */
/* ---- sign pairs ---- */
.pair-hero{margin-bottom:22px}
.pair-pics{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0 24px;max-width:640px}
.pair-pics.one{grid-template-columns:minmax(0,312px)}
.pair-hero h1 .glyph{letter-spacing:.08em;margin-right:6px;white-space:nowrap}
.pair-score{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.pair-score p{margin:0;color:var(--ink)}
.pair-score .stars{margin-left:0;font-size:1.25rem}
.pair-score b{margin-left:8px}
.pair-gauge{width:128px;flex:none}
.pair-gauge path{fill:none;stroke-width:9;stroke-linecap:round}
.pair-gauge .trk{stroke:#2a3168}
.pair-gauge .val{stroke:var(--gold)}
.pair-gauge text{font:600 17px var(--sans);fill:var(--ink)}
.pair-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}
.pair-cards h3{margin:0 0 .4em;font-size:1.08rem;color:var(--gold2)}
.pair-cards .minus h3{color:var(--rose,#e79aa6)}
.pair-cards p{margin:0}
.pair-next{margin-top:30px;text-align:center}
.pair-next h2{margin-top:0;display:block}
.pair-next h2::after{display:none}
.pair-next p{margin:0 auto 16px;max-width:60ch}
.around.pair-more{justify-content:flex-start}
/* ---- lists of links added to existing pages ---- */
.lt-hub{margin-top:10px}
.lt-all{display:grid;gap:8px 26px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.lt-all h3{margin:14px 0 0;font-size:1.02rem;color:var(--ink)}
.lt-all .chips{margin-top:8px}
.lt-all .chips a{font-size:.8rem;padding:4px 10px}
.chips span[aria-current]{color:var(--gold-ink);background:var(--gold);border-color:var(--gold);font-weight:600}
.lt-promo{margin-top:34px;text-align:center}
.lt-promo h2{margin-top:0;display:block}
.lt-promo h2::after{display:none}
.lt-promo p{margin:0 auto 16px;max-width:60ch}
/* ---- year tables ---- */
.lt-scroll{overflow-x:auto;border:1px solid var(--line2);border-radius:14px;background:#0f1330}
.lt-table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:520px}
.lt-table th,.lt-table td{padding:12px 14px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--line);color:var(--body)}
.lt-table thead th{font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:#151a40;white-space:nowrap}
.lt-table tbody th{font-weight:600;color:var(--ink)}
.lt-table tbody tr:last-child th,.lt-table tbody tr:last-child td{border-bottom:0}
.lt-table td:nth-child(2){white-space:nowrap;font-variant-numeric:tabular-nums}
.lt-table a{text-decoration:none;white-space:nowrap}
.lt-table .moon-ico{width:24px;height:24px;vertical-align:-6px;margin-right:10px}
.lt-merc{font-size:1.3rem;margin-right:10px;color:var(--rose,#e79aa6)}
/* ---- moon phase by date ---- */
.md-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.md-row input{flex:1 1 220px;width:auto}
.md-card h2{margin-top:0;font-size:1.3rem}
.md-top{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.md-top>div{flex:1 1 260px}
.md-disc{width:170px;height:170px;flex:none;margin:0 auto}
.md-phase{font:500 1.7rem/1.2 var(--serif);color:var(--gold2);margin:0 0 .35em}
.md-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0 0}
.md-facts div{border:1px solid var(--line2);border-radius:14px;padding:12px 14px;background:#0f1330;text-align:center}
.md-facts dt{font-size:.8rem;color:var(--muted);margin-bottom:4px}
.md-facts dd{margin:0;font-size:1.2rem;font-weight:600;color:var(--ink)}
.md-facts a{text-decoration:none}
.md-near{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-bottom:0}
.around.md-tools{justify-content:flex-start}
@media(max-width:620px){
  .pair-cards{grid-template-columns:1fr}
  .pair-pics{gap:10px}
  .md-facts{grid-template-columns:1fr}
  .md-top{gap:14px}
}

/* Share button + picture dialog, streak pill, welcome-back strip, install bar (share.js, pwa.js) */
.lz-share{margin:16px 0 0;text-align:center;animation:rise .4s both}
.lz-share[hidden]{display:none}
.btn.lz-ghost{background:#1a2046;color:var(--ink);border:1px solid rgba(231,192,120,.55);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:10px 24px;min-height:46px;font-size:.95rem}
.btn.lz-ghost:hover{background:#222a5c;color:var(--gold2);border-color:var(--gold)}
.btn.lz-ghost svg{color:var(--gold);flex:none}
.btn.lz-ghost.busy{opacity:.6;cursor:progress}
.btn.lz-ghost.busy svg{animation:lz-pulse .8s ease-in-out infinite alternate}
@keyframes lz-pulse{to{transform:translateY(-3px)}}

.lz-dlg{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:16px;background:rgba(5,7,18,.86);animation:fadein .2s}
.lz-dlg-in{position:relative;width:min(100%,400px);max-height:100%;overflow:auto;background:#141936;border:1px solid var(--line2);border-radius:20px;padding:16px;box-shadow:0 26px 60px rgba(0,0,0,.6)}
.lz-dlg-img{display:block;width:100%;height:auto;max-height:62vh;object-fit:contain;border-radius:12px;background:#0b0e1f}
.lz-dlg-acts{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:14px}
.lz-dlg-acts .btn{flex:1 1 150px;padding:10px 18px;min-height:46px;font-size:.95rem}
.lz-dlg-x{all:unset;box-sizing:border-box;position:absolute;right:8px;top:8px;z-index:1;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;cursor:pointer;font:1.5rem/1 var(--sans);color:var(--ink);background:#0b0e1f;border:1px solid var(--line2)}
.lz-dlg-x:hover{color:var(--gold2);border-color:var(--gold)}
.lz-dlg-x:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

.lz-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;font:600 .82rem/1.2 var(--sans);letter-spacing:.04em;color:var(--gold-ink);background:linear-gradient(180deg,var(--gold2),var(--gold));white-space:nowrap}
.lz-pill i{font-style:normal;font-size:.8em}
.lz-streak{margin:14px 0 0;text-align:center;animation:rise .4s both}

.lz-back{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:14px 0 6px;padding:12px 18px;background:#141936;border:1px solid var(--line2);border-left:3px solid var(--gold);border-radius:14px}
.lz-back>b{font:500 1.08rem var(--serif);color:var(--gold2);margin-right:4px}
.lz-back-l{display:flex;flex-wrap:wrap;gap:8px}
.lz-back-l a{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:6px 14px;border-radius:999px;border:1px solid var(--line2);background:#1c2244;color:var(--ink);text-decoration:none;font-size:.92rem}
.lz-back-l a:hover{border-color:var(--gold);color:var(--gold2)}
.lz-back .lz-pill{margin-left:auto}
@media(max-width:560px){.lz-back .lz-pill{margin-left:0}}

.lz-install{position:fixed;z-index:29;right:16px;bottom:16px;display:flex;align-items:center;gap:12px;width:min(430px,calc(100% - 32px));padding:10px 12px;background:#141936;border:1px solid rgba(231,192,120,.55);border-radius:16px;box-shadow:0 14px 40px rgba(0,0,0,.55);animation:rise .4s both}
.lz-install img{width:40px;height:40px;border-radius:10px;flex:none}
.lz-install p{margin:0;flex:1;font-size:.9rem;line-height:1.35;color:var(--ink)}
.lz-install-go{min-height:40px;padding:8px 18px;font-size:.9rem;flex:none}
.lz-install-x{all:unset;box-sizing:border-box;flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;cursor:pointer;font:1.35rem/1 var(--sans);color:var(--muted)}
.lz-install-x:hover{color:var(--ink)}
.lz-install-x:focus-visible{outline:2px solid var(--gold)}
@media(max-width:760px){.lz-install{left:10px;right:10px;width:auto;bottom:calc(76px + env(safe-area-inset-bottom))}}
.lz-dlg-x::after,.lz-install-x::after{content:none}
