:root{--ink:#f7f1df;--muted:#bcb5a7;--gold:#d8ad63;--panel:#17151f;--line:rgba(216,173,99,.25);--bg:#0d0b12}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 15% 0,#262032 0,#0d0b12 42%);color:var(--ink);font-family:Inter,system-ui,sans-serif;line-height:1.65}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:10;padding:.7rem 1rem;background:var(--gold);color:#17110a;border-radius:8px}.skip-link:focus{top:1rem}.seo-header{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1rem clamp(1rem,5vw,5rem);border-bottom:1px solid var(--line);background:rgba(13,11,18,.9);position:sticky;top:0;z-index:2}.brand{font-family:Cinzel,serif;font-size:1.2rem;color:var(--ink);text-decoration:none}.brand span,.eyebrow{color:var(--gold)}.seo-header nav,.related,footer{display:flex;gap:1.1rem;flex-wrap:wrap}.seo-header a,footer a,.related a,.breadcrumbs a,.sources a{color:var(--gold)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,.calendar-scroll:focus-visible{outline:3px solid #fff;outline-offset:3px}main{max-width:960px;margin:auto;padding:2rem 1.2rem 5rem}.breadcrumbs{display:flex;gap:.6rem;color:var(--muted);font-size:.9rem}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.78rem;margin-top:3rem}h1{font-family:Cinzel,serif;font-size:clamp(2rem,6vw,4.2rem);line-height:1.08;max-width:900px;margin:.3rem 0 1.2rem}.lead{font-size:1.18rem;color:#ddd6c7;max-width:800px}.tool-card,.content-section,.editorial-card{background:linear-gradient(145deg,rgba(31,27,40,.96),rgba(19,17,25,.96));border:1px solid var(--line);border-radius:18px;padding:clamp(1.1rem,3vw,2rem);margin:2rem 0}.tool-card form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.tool-card fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;grid-column:1/-1;border:1px solid var(--line);border-radius:12px;padding:1rem}.tool-card legend{color:var(--gold);font-weight:700;padding:0 .4rem}.tool-card label{display:grid;gap:.35rem;color:var(--muted);font-size:.9rem}.tool-card input,.tool-card select,.tool-card button{width:100%;border-radius:10px;border:1px solid var(--line);padding:.8rem;background:#0e0c13;color:var(--ink)}.tool-card button{background:var(--gold);color:#17110a;font-weight:700;cursor:pointer}.tool-card button:disabled{cursor:not-allowed;opacity:.55}.field-help,.privacy-note,.calculation-meta{color:var(--muted)}.field-help{font-size:.82rem;grid-column:1/-1;margin:0}.tool-result{margin-top:1.2rem;min-height:2rem}.result-highlight{font-size:1.5rem;color:var(--gold)}.tool-error{color:#ffd4d4;border-left:3px solid #ff8d8d;padding-left:.8rem}.calendar-scroll{overflow-x:auto;margin-top:1rem}.calendar-table{border-collapse:separate;border-spacing:.35rem;min-width:760px;width:100%}.calendar-table caption{text-align:left;color:var(--gold);font-weight:700;padding:.5rem}.calendar-table th{text-align:center;color:var(--muted)}.calendar-table td{width:14.285%;vertical-align:top}.calendar-day{display:grid;gap:.1rem;padding:.55rem;border:1px solid var(--line);border-radius:8px;min-height:118px;font-size:.78rem}.calendar-day time{font-size:1rem;font-weight:700;color:var(--gold)}.calendar-day strong{margin-top:.25rem;color:var(--gold)}.calendar-empty{background:rgba(255,255,255,.02);border-radius:8px}.month-controls{display:flex;gap:.7rem;align-items:end}.month-controls label{flex:1}.content-section h2{font-family:Cinzel,serif;color:var(--gold)}details{border-top:1px solid var(--line);padding:.8rem 0}summary{cursor:pointer;font-weight:700}.editorial-card{font-size:.88rem;color:var(--muted)}.related{margin:2rem 0}.related a{padding:.5rem .8rem;border:1px solid var(--line);border-radius:999px;text-decoration:none}footer{padding:2rem clamp(1rem,5vw,5rem);border-top:1px solid var(--line);color:var(--muted)}footer p{flex-basis:100%;margin:0}@media(max-width:680px){.seo-header{position:static;align-items:flex-start;flex-direction:column}.seo-header nav{display:flex;font-size:.88rem}.tool-card form,.tool-card fieldset{grid-template-columns:1fr}.month-controls{align-items:stretch;flex-direction:column}}
