:root{--bg:#f7f4ef;--card:#fffdf9;--line:#e5ddd2;--text:#302d3a;--muted:#817b86;--accent:#9273ad;--soft:#eee5f5;--gold:#b58b45;--radius:20px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 8% 0,#eee4f4 0,transparent 28%),var(--bg);color:var(--text);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.app-shell{max-width:1180px;margin:auto;padding:24px 20px 44px}.topbar,.day-hero,.toolbar,.agenda-head,.cosmic-top,.dialog-head,.header-actions,.calendar-controls,.form-row,.week-overview-head{display:flex;align-items:center}.topbar{justify-content:space-between;margin-bottom:22px}.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:42px;height:42px;border:1px solid #d8c9df;border-radius:50%;display:grid;place-items:center;color:var(--gold);background:#fffaf4}.eyebrow{font-size:10px;letter-spacing:.16em;color:var(--muted);font-weight:750}h1,h2,h3,p{margin:0}h1{font-size:20px}.header-actions{gap:8px}.ghost-btn,.icon-btn,.text-btn{background:#fffdf9;color:var(--text);border:1px solid var(--line);border-radius:11px;padding:9px 13px;cursor:pointer}.day-hero{justify-content:space-between;padding:24px 2px 18px}.day-hero h2{font-size:clamp(30px,5vw,50px);letter-spacing:-.045em;margin:5px 0 6px}.day-hero p{color:var(--muted);font-size:14px}.time-awareness{display:flex;align-items:center;gap:9px;margin-top:14px;width:fit-content;max-width:560px;padding:9px 12px;border:1px solid var(--line);border-radius:13px;background:rgba(255,253,249,.72)}.time-awareness .awareness-dot{width:8px;height:8px;border-radius:50%;background:#9b8ba4;box-shadow:0 0 0 4px #eee8ef;flex:none}.time-awareness div{display:grid;gap:2px}.time-awareness strong{font-size:12px}.time-awareness span:not(.awareness-dot){font-size:10px;color:var(--muted)}.time-awareness.open .awareness-dot{background:#7ca486;box-shadow:0 0 0 4px #e7f0e8}.time-awareness.soon .awareness-dot,.time-awareness.packed .awareness-dot{background:#b98272;box-shadow:0 0 0 4px #f4e8e3}.time-awareness.steady .awareness-dot{background:#b58b45;box-shadow:0 0 0 4px #f3eadb}.primary-btn{border:0;border-radius:12px;padding:12px 16px;background:var(--accent);color:#fff;font-weight:750;cursor:pointer;box-shadow:0 6px 16px #9273ad2b}.add-event{font-size:14px}.daily-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:16px;margin-bottom:24px}.agenda-card,.mini-cosmic,.note-panel,.calendar-card,.week-view{background:rgba(255,253,249,.92);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 30px #5d4d5a0a}.agenda-card{padding:22px;min-height:330px}.agenda-head{justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--line)}.agenda-head h3,.mini-cosmic h3{margin-top:4px}.agenda-count{font-size:11px;color:var(--muted);background:#f4efe9;padding:6px 9px;border-radius:20px}.timeline{padding:8px 0}.event-row{display:grid;grid-template-columns:108px 24px 1fr;min-height:62px;align-items:start}.event-row time{font-size:11px;color:var(--muted);padding-top:13px;text-align:right;white-space:nowrap}.event-line{height:100%;position:relative}.event-line:after{content:'';position:absolute;left:11px;top:24px;bottom:-4px;width:1px;background:#e8e0d7}.event-row:last-child .event-line:after{display:none}.event-dot{position:absolute;top:17px;left:7px;width:9px;height:9px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 4px #eee5f5}.event-body{padding:9px 12px;background:#faf7f2;border:0;border-radius:12px;margin:3px 0 7px;text-align:left;color:var(--text);font:inherit;cursor:pointer;width:100%}.event-body:hover{background:#f4eef7}.event-body strong,.event-body span{display:block}.event-body strong{font-size:13px}.event-body span{font-size:10px;color:var(--muted);margin-top:3px}.quick-add{width:100%;border:1px dashed #d7cbd3;background:transparent;color:#746c76;border-radius:12px;padding:12px;cursor:pointer;text-align:left}.empty-day{padding:38px 8px;color:var(--muted);display:grid;gap:5px}.empty-day strong{color:var(--text)}.day-side{display:grid;gap:16px}.mini-cosmic,.note-panel{padding:18px}.cosmic-top{justify-content:space-between}.astro-list{margin-top:12px}.astro-row{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:11px 0;font-size:12px}.astro-row span{color:var(--muted)}.transit-summary{margin-top:14px}.profile-empty,.profile-ready,.transit-placeholder{background:#faf7f2;border:1px solid var(--line);border-radius:12px;padding:12px}.profile-empty,.profile-ready{display:flex;gap:10px}.profile-empty{flex-direction:column}.profile-empty span,.profile-ready span,.transit-placeholder p{font-size:11px;color:var(--muted);line-height:1.45}.profile-ready{align-items:center}.profile-ready div{display:grid;gap:2px}.status-dot{width:9px;height:9px;border-radius:50%;background:#7ca486;box-shadow:0 0 0 4px #e7f0e8;flex:none}.transit-toggle{margin-top:10px;width:100%;border:0;background:transparent;color:var(--accent);font-weight:700;font-size:11px;text-align:left;padding:5px 0;cursor:pointer}.transit-details{margin-top:8px}.transit-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.transit-tags span{font-size:10px;background:var(--soft);color:#63536e;padding:6px 8px;border-radius:999px}.natal-accuracy{margin-top:14px}.natal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:13px;border-top:1px solid var(--line)}.natal-head strong{display:block;font-size:12px;margin-top:3px}.precision-badge{font-size:9px;color:#5f6f64;background:#eaf1eb;padding:5px 7px;border-radius:999px;white-space:nowrap}.natal-positions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}.natal-positions>div{background:#faf7f2;border:1px solid var(--line);border-radius:9px;padding:8px;display:grid;gap:2px}.natal-positions span{font-size:9px;color:var(--muted)}.natal-positions strong{font-size:10px}.natal-aspects{margin-top:12px;display:grid;gap:5px}.natal-aspect{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid var(--line);font-size:9px}.natal-aspect strong{text-align:right;font-size:9px;color:#65566c}.natal-aspects p,.calc-note{font-size:9px;color:var(--muted);line-height:1.45}.calc-note{margin-top:10px}.note-panel textarea{width:100%;min-height:105px;margin-top:10px;background:#fffaf5;border:1px solid var(--line);border-radius:12px;padding:12px;font:inherit;color:var(--text);resize:vertical}.text-btn{margin-top:8px;padding:7px 10px}.saved{font-size:10px;color:#6f9279;opacity:0;margin-left:8px}.saved.show{opacity:1}.toolbar{justify-content:space-between;align-items:end;margin:4px 2px 12px}.month-nav{display:flex;align-items:center;gap:10px}.month-nav h2{font-size:19px;min-width:145px;text-align:center}.calendar-controls{gap:12px}.view-toggle{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.view-toggle button{border:0;border-right:1px solid var(--line);padding:9px 11px;background:#fffdf9;color:var(--muted);cursor:pointer}.view-toggle button:last-child{border:0}.view-toggle button:disabled{cursor:not-allowed;opacity:.45}.view-toggle .active{background:var(--soft);color:var(--text)}.tz-picker{display:flex;flex-direction:column;gap:4px;font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.tz-picker select{background:#fffdf9;border:1px solid var(--line);color:var(--text);padding:9px;border-radius:10px}.calendar-card{padding:13px}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.weekdays{font-size:9px;text-transform:uppercase;color:var(--muted);padding:5px 4px 9px}.weekdays span{text-align:center}.day{min-height:102px;border:1px solid transparent;background:transparent;border-radius:12px;padding:8px;position:relative;text-align:left;color:var(--text);cursor:pointer}.day:hover{background:#f7f1f7}.day.muted{opacity:.28}.day.today{border-color:#c6afcf}.day.selected{background:#eee5f5}.num{font-size:12px;font-weight:700}.tiny-moon{position:absolute;right:7px;top:7px;font-size:13px;opacity:.7}.event-dots{display:flex;gap:3px;margin-top:14px}.event-dots i{width:5px;height:5px;border-radius:50%;background:var(--accent)}.mini-event{font-size:9px;background:#f5eff7;color:#5e5265;padding:4px 5px;border-radius:5px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-view{padding:18px}.week-overview-head{justify-content:space-between;margin-bottom:14px}.week-overview-head h3{font-size:18px;margin-top:4px}.week-awareness{display:flex;align-items:center;gap:10px;margin:-2px 0 14px;padding:11px 13px;border:1px solid var(--line);border-radius:14px;background:#faf7f2}.week-awareness .awareness-dot{width:8px;height:8px;border-radius:50%;background:#9b8ba4;box-shadow:0 0 0 4px #eee8ef;flex:none}.week-awareness div{display:grid;gap:3px}.week-awareness strong{font-size:12px;line-height:1.35}.week-awareness span:not(.awareness-dot){font-size:10px;color:var(--muted);line-height:1.4}.week-awareness.open .awareness-dot{background:#7ca486;box-shadow:0 0 0 4px #e7f0e8}.week-awareness.steady .awareness-dot{background:#b58b45;box-shadow:0 0 0 4px #f3eadb}.week-awareness.packed .awareness-dot{background:#b98272;box-shadow:0 0 0 4px #f4e8e3}.week-awareness.minimal{padding:9px 11px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:8px;overflow-x:auto;padding-bottom:4px}.week-day{border:1px solid var(--line);border-radius:14px;background:#fffdfa;min-height:285px;display:flex;flex-direction:column;overflow:hidden}.week-day.today{border-color:#c6afcf}.week-day.selected{box-shadow:inset 0 0 0 2px #dfd0e8;background:#fcf8ff}.week-day-head{border:0;background:transparent;text-align:left;padding:12px;display:grid;grid-template-columns:1fr auto;gap:3px;cursor:pointer;color:var(--text)}.week-day-head strong{font-size:24px;line-height:1}.week-dow{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.week-event-count{grid-column:1/-1;font-size:9px;color:var(--muted)}.week-time-grid{height:520px;position:relative;margin:3px 8px 10px;border-top:1px solid #eee7df;border-bottom:1px solid #eee7df;background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(6.666% - 1px),#f0ebe5 calc(6.666% - 1px),#f0ebe5 6.666%);flex:1}.hour-line{position:absolute;left:0;right:0;border-top:1px solid #e8e0d8;pointer-events:none}.week-time-block{position:absolute;left:2px;right:2px;min-height:28px;border:1px solid #d8c9df;border-left:3px solid var(--accent);background:#f2eaf6;border-radius:7px;padding:5px 6px;text-align:left;color:var(--text);cursor:pointer;overflow:hidden;box-shadow:0 2px 5px #5d4d5a0b}.week-all-days{display:grid;gap:4px;padding:0 8px 7px}.week-all-day{border:1px solid #d8c9df;background:#f2eaf6;border-radius:7px;padding:6px;text-align:left;color:var(--text);cursor:pointer}.week-all-day strong,.week-all-day small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-all-day strong{font-size:9px}.week-all-day small{font-size:7px;color:var(--muted);margin-top:1px}.week-time-block time,.week-time-block strong,.week-time-block small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-time-block time{font-size:8px;color:var(--muted)}.week-time-block strong{font-size:9px;margin-top:2px}.week-time-block small{font-size:7px;color:var(--muted);margin-top:1px}.week-empty{border:1px dashed #ddd2dc;background:transparent;color:var(--muted);border-radius:9px;padding:10px;font-size:10px;cursor:pointer}.week-empty-time{position:absolute;top:10px;left:4px;right:4px}.week-astro{border-top:1px solid var(--line);padding:9px 10px;display:grid;gap:3px;font-size:8px;color:var(--muted);line-height:1.35}.week-astro span:first-child{color:#6f6274;font-weight:700}.day-view{background:rgba(255,253,249,.92);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 30px #5d4d5a0a;padding:18px}.day-view-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:14px}.day-view-head h3{font-size:22px;margin-top:4px}.day-all-day{margin-bottom:12px}.day-all-day-label{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:6px}.day-all-day-items{display:grid;gap:6px}.day-all-day-event{border:1px solid #d8c9df;background:#f2eaf6;border-radius:10px;padding:9px 11px;text-align:left;color:var(--text);cursor:pointer}.day-all-day-event strong,.day-all-day-event span{display:block}.day-all-day-event strong{font-size:12px}.day-all-day-event span{font-size:9px;color:var(--muted);margin-top:2px}.day-schedule{display:grid;grid-template-columns:64px 1fr;min-height:960px;position:relative}.day-hours{position:relative}.day-hours span{position:absolute;right:10px;transform:translateY(-50%);font-size:9px;color:var(--muted)}.day-time-grid{position:relative;min-height:960px;border-left:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(4.166% - 1px),#eee7df calc(4.166% - 1px),#eee7df 4.166%)}.day-time-block{position:absolute;left:10px;right:10px;border:1px solid #d8c9df;border-left:4px solid var(--accent);background:#f2eaf6;border-radius:10px;padding:7px 9px;text-align:left;color:var(--text);cursor:pointer;overflow:hidden;box-shadow:0 3px 8px #5d4d5a12}.day-time-block time,.day-time-block strong,.day-time-block small{display:block}.day-time-block time{font-size:9px;color:var(--muted)}.day-time-block strong{font-size:12px;margin-top:2px}.day-time-block small{font-size:8px;color:var(--muted);margin-top:2px}footer{font-size:10px;color:#918995;text-align:center;max-width:700px;margin:22px auto 0;line-height:1.5}dialog{border:1px solid var(--line);border-radius:18px;background:#fffdf9;color:var(--text);padding:0;width:min(430px,calc(100% - 28px));box-shadow:0 24px 80px #493d4d33}dialog::backdrop{background:#4a414955}.onboarding-dialog{width:min(680px,calc(100% - 24px))}.onboarding-dialog form{padding:28px}.onboarding-dialog h2{font-size:clamp(26px,5vw,40px);letter-spacing:-.04em;margin:7px 0 8px}.onboarding-dialog .onboard-step>p{font-size:12px;color:var(--muted);margin-bottom:18px}.onboard-progress{display:flex;gap:6px;margin-bottom:24px}.onboard-progress i{height:4px;flex:1;border-radius:99px;background:#eee7df}.onboard-progress i.active{background:var(--accent)}.goal-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.goal-grid label,.choice-stack label{margin:0;cursor:pointer}.goal-grid input,.choice-stack input{position:absolute;opacity:0;pointer-events:none}.goal-grid span,.choice-stack span{display:grid;gap:3px;border:1px solid var(--line);border-radius:14px;padding:13px;background:#fffaf5;transition:.15s}.goal-grid input:checked+span,.choice-stack input:checked+span{border-color:#bba4c8;background:var(--soft);box-shadow:inset 0 0 0 1px #d6c4df}.goal-grid strong,.choice-stack strong{font-size:12px;color:var(--text)}.goal-grid small,.choice-stack small{font-size:10px;color:var(--muted);line-height:1.4}.choice-stack{display:grid;gap:9px;margin-top:18px}.opening-view{margin-top:18px!important}.onboard-actions{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.onboard-actions .primary-btn{margin-left:auto}body[data-astrology="light"] .natal-accuracy{display:none}@media(max-width:600px){.goal-grid{grid-template-columns:1fr}.onboarding-dialog form{padding:20px}.onboarding-dialog h2{font-size:27px}}dialog form{padding:22px}.calendar-connect-dialog{width:min(560px,calc(100% - 28px))}.feed-empty,.feed-active{border:1px solid var(--line);background:#faf7f2;border-radius:14px;padding:14px;margin:14px 0}.feed-empty{display:grid;gap:4px}.feed-empty strong{font-size:12px}.feed-empty span,.feed-warning{font-size:10px;color:var(--muted);line-height:1.5}.connection-ready{display:flex;align-items:center;gap:10px;margin-bottom:12px}.connection-ready-dot{width:9px;height:9px;border-radius:50%;background:#7ca486;box-shadow:0 0 0 4px #e7f0e8;flex:none}.connection-ready div{display:grid;gap:2px}.connection-ready strong{font-size:12px}.connection-ready span{font-size:10px;color:var(--muted)}.calendar-app-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.calendar-app-card{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;border:1px solid var(--line);background:#fffdf9;border-radius:13px;padding:11px;text-align:left;color:var(--text);cursor:pointer}.calendar-app-card:hover{border-color:#c9b8d2;background:#fcf8ff}.calendar-app-icon{width:32px;height:32px;border-radius:10px;background:var(--soft);display:grid;place-items:center;font-weight:800;font-size:13px;color:#62536b}.calendar-app-card>span:nth-child(2){display:grid;gap:2px}.calendar-app-card strong{font-size:11px}.calendar-app-card small{font-size:9px;color:var(--muted);line-height:1.35}.calendar-app-card b{font-size:14px;color:var(--muted)}.calendar-app-guide{margin-top:10px;padding:12px;border-radius:12px;background:#f4eef7;border:1px solid #dfd0e8}.calendar-app-guide>strong{display:block;font-size:11px;margin-bottom:3px}.calendar-app-guide>span{font-size:10px;color:var(--muted);line-height:1.45}.guide-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.guide-head strong{font-size:11px}.guide-head .text-btn{margin:0}.calendar-app-guide ol{margin:8px 0 0;padding-left:18px}.calendar-app-guide li{font-size:10px;color:var(--muted);line-height:1.5;margin:4px 0}.feed-advanced{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.feed-advanced summary{cursor:pointer;font-size:10px;color:var(--muted);font-weight:700}.feed-advanced[open] summary{margin-bottom:10px}.feed-active label{margin:0}.feed-active input{font-size:10px}.feed-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.feed-actions .primary-btn,.feed-actions .ghost-btn,.feed-actions .danger-btn{padding:9px 11px}.feed-warning{margin-top:10px}@media(max-width:560px){.calendar-app-grid{grid-template-columns:1fr}}.place-search-wrap{position:relative}.place-results{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:20;background:#fffdf9;border:1px solid rgba(79,61,91,.16);border-radius:16px;box-shadow:0 18px 45px rgba(48,37,55,.14);padding:6px;max-height:250px;overflow:auto}.place-option{width:100%;display:flex;flex-direction:column;gap:3px;text-align:left;border:0;background:transparent;padding:11px 12px;border-radius:12px;color:inherit}.place-option:hover,.place-option:focus{background:rgba(119,96,143,.08)}.place-option span,.place-loading,.resolved-place span{font-size:.78rem;color:var(--muted)}.place-loading{padding:12px}.resolved-place{display:flex;flex-direction:column;gap:4px;padding:11px 13px;border-radius:14px;background:rgba(119,96,143,.07);border:1px solid rgba(119,96,143,.12)}.advanced-location{border-top:1px solid rgba(79,61,91,.1);padding-top:10px}.advanced-location summary{cursor:pointer;font-size:.82rem;color:var(--muted);font-weight:700}.advanced-location[open] summary{margin-bottom:12px}.advanced-location input[readonly]{background:rgba(255,255,255,.55);color:var(--muted)}.dialog-head{justify-content:space-between;margin-bottom:18px}dialog label{display:grid;gap:6px;font-size:11px;color:var(--muted);margin-bottom:14px}.form-help{font-size:11px;color:var(--muted);line-height:1.5;margin:-4px 0 16px}dialog input,dialog select{width:100%;border:1px solid var(--line);background:#fffaf5;border-radius:10px;padding:11px;color:var(--text);font:inherit}.form-row{gap:10px}.form-row label{flex:1}.check-row{display:flex!important;grid-template-columns:none!important;align-items:center;gap:9px!important}.check-row input{width:auto}.dialog-actions{display:flex;justify-content:space-between;gap:10px;align-items:center}.danger-btn{border:1px solid #e3c9c9;background:#fff8f7;color:#9b4d4d;border-radius:12px;padding:11px 14px;font-weight:700;cursor:pointer}.dialog-actions .primary-btn{margin-left:auto}@media(max-width:760px){.app-shell{padding:17px 11px 34px}.sync-btn{display:none}.day-hero{align-items:end}.day-hero h2{font-size:32px}.daily-layout{grid-template-columns:1fr}.agenda-card{min-height:280px}.toolbar{align-items:stretch;gap:12px;flex-direction:column}.calendar-controls{justify-content:space-between}.day{min-height:76px;padding:6px}.mini-event{display:none}.tiny-moon{font-size:11px}.weekdays{font-size:8px}.add-event{padding:10px 12px}.week-view{padding:12px}.week-grid{grid-template-columns:repeat(7,168px);scroll-snap-type:x proximity}.week-day{scroll-snap-align:start;min-height:260px}.week-overview-head{align-items:flex-end}.day-view{padding:12px}.day-view-head{align-items:flex-end}.day-schedule{grid-template-columns:52px 1fr}.day-time-block{left:7px;right:5px}}