:root{--bg: #faf8f3;--card: #ffffff;--ink: #2b2823;--ink-soft: #6f6a60;--accent: #8a7a5c;--hairline: #e6e0d3;--moon-dark: #e9e4d8;--moon-lit: #2b2823;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}@media(prefers-color-scheme:dark){:root{--bg: #1c1b18;--card: #24221e;--ink: #e8e3d8;--ink-soft: #a29a8a;--accent: #b3a486;--hairline: #3a372f;--moon-dark: #3a372f;--moon-lit: #e8e3d8}}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--serif);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}.wrap{max-width:680px;margin:0 auto;padding:1.5rem 1.5rem 3rem}@media(max-width:420px){.wrap{padding:1rem 1rem 2rem}}.app-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding-bottom:1rem;border-bottom:1px solid var(--hairline);margin-bottom:1.5rem}.kicker{font-family:var(--sans);font-size:.6875rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}.header-controls{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.header-controls select,.header-controls button,.date-nav button,.mode-toggle button{font-family:var(--sans);font-size:.8125rem;color:var(--ink);background:transparent;border:1px solid var(--hairline);border-radius:2px;padding:.35rem .7rem;cursor:pointer;transition:border-color .15s ease}.header-controls select{max-width:11rem}.header-controls select:hover,.header-controls button:hover,.date-nav button:hover,.mode-toggle button:hover{border-color:var(--accent)}.notice{font-family:var(--sans);font-size:.75rem;color:var(--ink-soft);border:1px solid var(--hairline);border-radius:2px;padding:.5rem .75rem;margin-bottom:1rem}.loading{font-family:var(--sans);font-size:.8125rem;color:var(--ink-soft);text-align:center;padding:4rem 1rem;max-width:32rem;margin:0 auto;line-height:1.7}.loading-detail{margin-top:.8rem;font-size:.75rem}.date-head{text-align:center;margin-bottom:1.75rem}#date-display{font-size:1.5rem;font-weight:500;letter-spacing:.01em;margin-bottom:1rem}.date-nav{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap}#date-input{font-family:var(--sans);font-size:.8125rem;color:var(--ink);background:transparent;border:1px solid var(--hairline);border-radius:2px;padding:.3rem .5rem;color-scheme:light}@media(prefers-color-scheme:dark){#date-input{color-scheme:dark}}.mode-toggle{display:inline-flex;margin-top:.9rem}.mode-toggle button{border-radius:0;min-width:5.5rem}.mode-toggle button:first-child{border-radius:2px 0 0 2px;border-right:none}.mode-toggle button:last-child{border-radius:0 2px 2px 0}.mode-toggle button.active{color:var(--bg);background:var(--accent);border-color:var(--accent)}.card{background:var(--card);border:1px solid var(--hairline);border-radius:3px;padding:1.5rem}.card-top{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.25rem}@media(max-width:420px){.card-top{gap:1rem}}#moon-icon{flex:none;line-height:0}.moon-dark{fill:var(--moon-dark)}.moon-lit{fill:var(--moon-lit)}.moon-edge{stroke:var(--ink-soft);stroke-width:.75;opacity:.35}#phase-name{font-size:1.25rem;font-weight:500;margin-bottom:.15rem}.badge{display:inline-block;font-family:var(--sans);font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bg);background:var(--accent);border-radius:2px;padding:.15rem .5rem;margin-left:.4rem;vertical-align:.15em}#illum{font-family:var(--sans);font-size:.8125rem;color:var(--ink-soft);margin-bottom:.3rem}#moon-sign{font-size:1rem;color:var(--ink)}.times{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;border-top:1px solid var(--hairline);padding-top:1.1rem}@media(max-width:460px){.times{grid-template-columns:repeat(2,1fr)}}.times dt{font-family:var(--sans);font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.15rem}.times dd{font-size:.9375rem}.location-line{border-top:1px solid var(--hairline);margin-top:1.1rem;padding-top:.8rem;text-align:center}.location-line button{font-family:var(--sans);font-size:.75rem;letter-spacing:.06em;color:var(--ink-soft);background:none;border:none;cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}.location-line button:hover{color:var(--accent)}#transits{text-align:center;padding:1.4rem .5rem}.transit-house{font-size:1.0625rem}.conj{font-size:.9375rem;color:var(--ink);margin-top:.25rem}.conj .orb{color:var(--ink-soft);font-size:.875rem}.conj.none,.transit-note{color:var(--ink-soft);font-family:var(--sans);font-size:.8125rem}.transit-note{margin-top:.5rem}.cta{font-family:var(--sans);font-size:.8125rem;color:var(--bg);background:var(--accent);border:1px solid var(--accent);border-radius:2px;padding:.45rem .9rem;cursor:pointer;margin-top:.6rem}#affirmations{text-align:center}#affirmations:not(:empty){padding:.4rem 1rem 1.6rem}.affirmation{font-family:var(--serif);font-style:italic;font-size:1.25rem;line-height:1.55;letter-spacing:.015em;color:var(--ink)}.affirmation+.affirmation{margin-top:.55rem}.rule{border:none;border-top:1px solid var(--hairline);margin:0}.entry{padding:.35rem 0}.entry summary{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none;padding:.55rem .25rem}.entry summary::-webkit-details-marker{display:none}.entry summary h3{font-size:1.0625rem;font-weight:500;letter-spacing:.01em}.disclose{font-family:var(--sans);color:var(--ink-soft);font-size:1rem;transition:transform .15s ease}.entry[open] .disclose{transform:rotate(45deg)}.entry-body{padding:.25rem .25rem 1rem}.reading{margin-top:.65rem}.reading:first-child{margin-top:0}.reading.pending{font-family:var(--sans);font-size:.8125rem;color:var(--ink-soft);font-style:italic}.reading-title{font-weight:600;letter-spacing:.01em;margin-bottom:.4rem}.reading-h{font-family:var(--sans);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-top:.9rem;margin-bottom:.2rem}.reading-h .mark{color:var(--ink-soft)}.ritual-h{font-family:var(--sans);font-size:.8125rem;font-weight:600;letter-spacing:.06em;color:var(--accent);margin-top:1.4rem;margin-bottom:.5rem}.ritual-h:first-child{margin-top:0}.ritual-step{display:flex;gap:.55rem;margin-top:.7rem}.ritual-step .num{flex:none;min-width:1.35rem;font-family:var(--sans);font-size:.8125rem;color:var(--accent);padding-top:.15rem}.ritual-do{margin-top:.35rem;padding-left:.2rem}.ritual-do .mark{color:var(--ink-soft)}footer{font-family:var(--sans);font-size:.6875rem;color:var(--ink-soft);text-align:center;margin-top:2.5rem;line-height:1.8}footer a{color:var(--ink-soft);text-decoration:underline dotted;text-underline-offset:3px}footer a:hover{color:var(--accent)}dialog{margin:auto;background:var(--card);color:var(--ink);border:1px solid var(--hairline);border-radius:3px;padding:1.5rem;width:min(92vw,26rem);font-family:var(--serif)}dialog::backdrop{background:#14120e73}dialog h2{font-size:1.125rem;font-weight:500;margin-bottom:.9rem}.settings-sub{font-family:var(--sans);font-size:.6875rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);border-top:1px solid var(--hairline);margin-top:1.3rem;padding-top:1rem}.settings-sub:first-of-type{border-top:none;margin-top:0;padding-top:0}dialog .option-row{margin-top:.8rem}dialog form label,dialog .check{display:block;font-family:var(--sans);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:.9rem 0 .25rem}dialog .check{display:flex;align-items:center;gap:.4rem;text-transform:none;letter-spacing:.02em;font-size:.8125rem;margin:0}dialog input[type=text],dialog input[type=date],dialog input[type=time],dialog input[type=number]{width:100%;font-family:var(--sans);font-size:.875rem;color:var(--ink);background:var(--bg);border:1px solid var(--hairline);border-radius:2px;padding:.45rem .6rem;color-scheme:light}@media(prefers-color-scheme:dark){dialog input{color-scheme:dark}}dialog input:focus{outline:1px solid var(--accent);border-color:var(--accent)}dialog .row{display:flex;gap:.6rem;align-items:center}dialog .row>label{flex:1;margin:.9rem 0 .25rem}dialog .row input[type=time]{flex:1;width:auto}dialog details{margin-top:.9rem;font-family:var(--sans);font-size:.8125rem}dialog details summary{cursor:pointer;color:var(--ink-soft)}[hidden]{display:none!important}.tag{display:inline-block;font-size:.5625rem;letter-spacing:.1em;color:var(--bg);background:var(--accent);border-radius:2px;padding:.05rem .35rem;vertical-align:.1em}.hint{font-family:var(--sans);font-size:.75rem;color:var(--ink-soft);margin-top:.35rem}.place-results{list-style:none;border:1px solid var(--hairline);border-top:none;border-radius:0 0 2px 2px;max-height:12rem;overflow-y:auto;background:var(--card)}.place-results li button{display:block;width:100%;text-align:left;font-family:var(--sans);font-size:.8125rem;color:var(--ink);background:none;border:none;border-bottom:1px solid var(--hairline);padding:.5rem .6rem;cursor:pointer}.place-results li:last-child button{border-bottom:none}.place-results li button:hover{background:var(--bg)}.place-results li.hint{font-family:var(--sans);font-size:.75rem;color:var(--ink-soft);padding:.5rem .6rem}.chosen-place{font-family:var(--sans);font-size:.75rem;color:var(--accent);margin-top:.3rem}.chosen-place:empty{display:none}.form-error{font-family:var(--sans);font-size:.8125rem;color:#a04030;margin-top:.8rem}.dialog-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1.4rem}.dialog-actions button{font-family:var(--sans);font-size:.8125rem;border:1px solid var(--hairline);border-radius:2px;background:transparent;color:var(--ink);padding:.45rem .9rem;cursor:pointer}.dialog-actions button.primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}.dialog-actions button:hover{border-color:var(--accent)}#profile-list{list-style:none}#profile-list li{display:flex;align-items:center;justify-content:space-between;gap:.6rem;border-bottom:1px solid var(--hairline);padding:.55rem .1rem}#profile-list .p-name{font-size:.9375rem}#profile-list .p-name.active:after{content:"active";font-family:var(--sans);font-size:.5625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bg);background:var(--accent);border-radius:2px;padding:.05rem .35rem;margin-left:.45rem;vertical-align:.15em}#profile-list .p-meta{font-family:var(--sans);font-size:.6875rem;color:var(--ink-soft)}#profile-list .p-actions{display:flex;gap:.3rem}#profile-list .p-actions button{font-family:var(--sans);font-size:.6875rem;color:var(--ink-soft);background:none;border:1px solid var(--hairline);border-radius:2px;padding:.2rem .5rem;cursor:pointer}#profile-list .p-actions button:hover{border-color:var(--accent);color:var(--ink)}#profile-list li.empty{font-family:var(--sans);font-size:.8125rem;color:var(--ink-soft);border-bottom:none}
