:root{color-scheme:dark;--bg:#040817;--panel:rgba(10,18,42,.82);--line:rgba(216,183,108,.25);--gold:#d8b76c;--gold2:#f1d99a;--violet:#8c74e8;--text:#f4efe6;--muted:#aab2c8}
*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:radial-gradient(circle at 15% 10%,rgba(105,76,202,.24),transparent 30%),radial-gradient(circle at 85% 35%,rgba(31,86,160,.2),transparent 35%),linear-gradient(180deg,#071126,#03050e)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.24;background-image:radial-gradient(circle,rgba(255,255,255,.7) 0 1px,transparent 1.4px);background-size:49px 49px}
.shell{position:relative;width:min(100%,760px);margin:auto;padding:16px 12px 32px}.glass{background:var(--panel);border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 60px rgba(0,0,0,.32);backdrop-filter:blur(14px)}.hero{text-align:center;padding:22px 18px;margin-bottom:12px}.eyebrow{margin:0 0 7px;color:var(--gold);font-size:11px;letter-spacing:.32em}.eyebrow.small{font-size:10px}.hero h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(29px,7vw,43px);margin:0}.muted{color:var(--muted)}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.summary-card{padding:14px;text-align:center}.summary-card span{display:block;color:var(--muted);font-size:12px;min-height:32px}.summary-card strong{display:block;color:var(--gold2);font-family:Georgia,serif;font-size:21px;margin-top:7px}.timeline-wrap{padding:10px;margin-bottom:12px;overflow:hidden}.day-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.day-tab{min-width:82px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);color:var(--muted);border-radius:14px;padding:10px 8px}.day-tab.active{border-color:var(--gold);color:var(--text);background:rgba(216,183,108,.12)}.day-tab strong,.day-tab span{display:block}.day-tab strong{font-size:13px}.day-tab span{font-size:11px;margin-top:4px}.day-view{padding:18px}.day-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.day-head h2{font-family:Georgia,serif;font-weight:500;margin:0;font-size:28px}.score-ring{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;border:5px solid var(--gold);background:#0c1531;font-weight:800;font-size:19px}.moon-card{display:flex;align-items:center;gap:14px;margin:18px 0;padding:14px;border-radius:16px;background:rgba(123,95,215,.11);border:1px solid rgba(140,116,232,.25)}.moon-icon{font-size:43px;color:var(--gold2)}.moon-card p{margin:5px 0 0;color:var(--muted)}.meters{display:grid;gap:11px}.meter-row label{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-bottom:6px}.meter-row>div{height:9px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}.meter-row i{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--violet),var(--gold));transition:width .4s ease}.block{margin-top:20px}.block h3,.advice h3{font-family:Georgia,serif;font-weight:500;color:var(--gold2);margin:0 0 10px}.aspects{display:grid;gap:8px}.aspect{display:flex;justify-content:space-between;gap:10px;padding:11px;border-radius:13px;background:rgba(255,255,255,.035);border-left:3px solid var(--violet)}.aspect.positive{border-left-color:#72c9a7}.aspect.negative{border-left-color:#d47791}.aspect span{color:var(--muted);font-size:12px;text-align:right}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:8px 11px;border-radius:999px;background:rgba(216,183,108,.1);border:1px solid rgba(216,183,108,.25);color:var(--gold2);font-size:12px}.advice{margin-top:20px;padding:15px;border-radius:16px;background:rgba(216,183,108,.08);border:1px solid rgba(216,183,108,.2)}.advice p{margin:0;color:#d8d3e2;line-height:1.55}footer{text-align:center;color:var(--muted);font-size:12px;padding:18px 10px 0}footer button{border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.05);color:var(--text);padding:11px 24px}.error{padding:16px;color:#ffb9c6}.hidden{display:none}@media(max-width:580px){.summary-grid{grid-template-columns:1fr}.summary-card span{min-height:0}.day-view{padding:15px}.day-head h2{font-size:24px}}
