.month-scroller{width:100%;position:relative;overflow-anchor:none;overflow-x:clip;overscroll-behavior-x:none;touch-action:pan-y}.month-scroller .scroller-weekdays{position:sticky;top:0;z-index:20;padding-top:calc(env(safe-area-inset-top,0px) + 54px);background:var(--bg-primary)}.month-scroller.with-week-numbers .scroller-weekdays,.month-scroller.with-week-numbers .week-row{grid-template-columns:2.25rem repeat(7,minmax(0,1fr))}.scroller-sentinel{height:1px}.month-block{margin-bottom:1.25rem;scroll-margin-top:calc(env(safe-area-inset-top,0px) + 104px)}.month-block-label{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));z-index:2}.month-scroller.with-week-numbers .month-block-label{grid-template-columns:2.25rem repeat(7,minmax(0,1fr))}.month-block-label>span{justify-self:start;padding:0 .4em .1em;font-size:.8125rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.month-block-label.current>span{color:var(--accent-color)}.week-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));position:relative}.month-scroller .calendar-day:not(.other-month){border-top:1px solid var(--border-color)}.month-scroller .calendar-day{min-width:0}.month-scroller.density-compact{--density-rows: 9}.month-scroller.density-stacked{--density-rows: 7}.month-scroller.density-detailed{--density-rows: 3}.month-scroller.density-fill .month-block{--density-rows: var(--rows, 6)}.month-scroller .calendar-day{aspect-ratio:auto;min-height:0;height:max(26px,calc((var(--scroller-h, 620px) - var(--band-h, 42px)) / var(--density-rows, 6)))}.month-scroller.density-stacked .calendar-day,.month-scroller.density-detailed .calendar-day,.month-scroller.density-fill .calendar-day{justify-content:flex-start;align-items:stretch;padding:4px 5px;text-align:start}.month-scroller.density-stacked .calendar-day .calendar-date.primary,.month-scroller.density-detailed .calendar-day .calendar-date.primary,.month-scroller.density-fill .calendar-day .calendar-date.primary{font-size:.8125rem}.day-items{display:flex;flex-direction:column;gap:2px;width:100%;margin-top:2px;overflow:hidden;min-height:0}.day-chip{font-size:.625rem;line-height:1.3;padding:1px 5px;border-radius:4px;border-inline-start:3px solid var(--accent-color);background:var(--bg-secondary);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-chip.kind-events{border-inline-start-color:var(--accent-color)}.day-chip.kind-opportunities{border-inline-start-color:#f59e0b;font-style:italic}.day-chip.kind-journal{border-inline-start-color:#8b5cf6}.day-chip.kind-goals{border-inline-start-color:#10b981}.day-chip.kind-decisions{border-inline-start-color:#6366f1}.day-chip.kind-astro{border-inline-start-color:#ec4899}.day-chip.kind-habits{border-inline-start-color:#14b8a6}.day-chip.kind-nature{border-inline-start-color:#84cc16}.day-chip.more{border-inline-start-color:transparent;background:transparent;color:var(--text-tertiary);font-weight:600}.month-scroller .calendar-day.today,.month-scroller .calendar-day.selected,.month-scroller .calendar-day.today.selected{background-color:transparent;color:inherit;font-weight:inherit;border:none;box-shadow:none}.month-scroller .calendar-day:not(.other-month).today,.month-scroller .calendar-day:not(.other-month).selected{border-top:1px solid var(--border-color)}.month-scroller .calendar-day .calendar-date.primary{width:1.75em;height:1.75em;border-radius:50%;align-self:center;justify-content:center}.month-scroller.density-stacked .calendar-day .calendar-date.primary,.month-scroller.density-detailed .calendar-day .calendar-date.primary{align-self:flex-start}.month-scroller .calendar-day.holiday .calendar-date.primary,.month-scroller .calendar-day.weekend .calendar-date.primary,.month-scroller .scroller-weekdays .calendar-weekday.weekend{color:var(--text-tertiary)}.month-scroller .calendar-day.today .calendar-date.primary{color:var(--accent-color)}.month-scroller .calendar-day.today .secondary-date,.month-scroller .calendar-day.selected .secondary-date,.month-scroller .calendar-day.today.selected .secondary-date{color:var(--text-secondary)}.month-scroller .calendar-day.selected .calendar-date.primary{background:var(--text-primary);color:var(--bg-primary)}.month-scroller .calendar-day.today.selected .calendar-date.primary{background:var(--accent-color);color:#fff;box-shadow:0 0 0 1.5px var(--accent-color)}.year-view{width:100%;max-width:1200px;margin:0 auto;padding:1rem}.year-view.rtl{direction:rtl}.year-block{scroll-margin-top:calc(env(safe-area-inset-top,0px) + 72px)}.year-block-label{font-size:1.5rem;font-weight:700;color:var(--text-primary);padding:.25rem .25rem .75rem;text-align:center}.year-block-label.current{color:var(--accent-color)}.year-block+.year-block .year-block-label{margin-top:1rem}.year-sentinel{height:1px}.year-months{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.year-month{padding:.25rem;border-radius:8px;cursor:pointer;transition:background-color .15s ease}.year-month:hover{background-color:var(--bg-secondary)}.year-month.current .year-month-name{color:var(--accent-color)}.year-month-name{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;text-align:start;padding-inline-start:.25rem}.year-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.year-day{font-size:.5625rem;padding:1px 0;color:var(--text-primary);line-height:1.4;min-width:0;overflow:hidden;display:flex;align-items:center;justify-content:center}.year-day-num{display:flex;align-items:center;justify-content:center}.year-day.today .year-day-num{background-color:var(--accent-color);color:#fff;border-radius:50%;font-weight:600;width:1.6em;height:1.6em}@media (min-width: 760px) and (max-width: 1024px){.year-months{grid-template-columns:repeat(6,1fr)}.year-block-label{text-align:start;padding-inline-start:.25rem}}@media (max-width: 759px){.year-months{grid-template-columns:repeat(3,1fr);gap:.75rem}}@media (max-width: 480px){.year-view{padding:.75rem}.year-months{gap:.5rem}.year-month{padding:.5rem .25rem}}.life-view{width:100%;max-width:1200px;margin:0 auto;background-color:var(--bg-primary);border-radius:12px;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a;padding:1rem}.life-view.rtl{direction:rtl}.decade-block{scroll-margin-top:calc(env(safe-area-inset-top,0px) + 72px)}.decade-label{font-size:1.5rem;font-weight:700;color:var(--text-primary);padding:.25rem .25rem .75rem;text-align:start}.decade-block+.decade-block .decade-label{margin-top:1rem}.life-sentinel{height:1px}.decade-years{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem}.life-year{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.75rem .5rem .6rem;border-radius:8px;border:1px solid var(--border-color);background-color:var(--bg-primary);cursor:pointer;transition:all .15s ease;font-family:inherit}.life-year:hover{background-color:var(--bg-secondary);border-color:var(--accent-color)}.life-year.current{border-color:var(--accent-color)}.life-year.current .life-year-num{color:var(--accent-color)}.life-year-num{font-size:1.125rem;font-weight:700;color:var(--text-primary);line-height:1.2}.life-year-secondary{font-size:.6875rem;color:var(--text-tertiary);min-height:.9rem}.life-year-bar{width:100%;height:3px;border-radius:2px;background-color:var(--bg-secondary);overflow:hidden;margin-top:.25rem}.life-year-bar-fill{display:block;height:100%;border-radius:2px;background-color:var(--accent-color);opacity:.75;transition:width .2s ease}.decade-years.century{grid-template-columns:repeat(10,1fr);gap:.35rem}.life-year.mini{padding:.3rem .2rem;border:none;gap:.2rem}.life-year.mini .life-year-num{font-size:.625rem;font-weight:600}.life-year.mini .life-year-bar{height:2px;margin-top:0}@media (max-width: 759px){.decade-years.century{grid-template-columns:repeat(5,1fr)}}@media (max-width: 1024px){.decade-years{grid-template-columns:repeat(4,1fr)}}@media (max-width: 768px){.decade-years{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.life-view{padding:.75rem}.life-year-num{font-size:1rem}}.day-carousel{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.day-carousel::-webkit-scrollbar{display:none}.day-page{flex:0 0 100%;min-width:100%;scroll-snap-align:center;scroll-snap-stop:always;overflow-y:visible}.day-view{position:relative}.day-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:15;width:34px;height:34px;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:.55;transition:opacity .15s}.day-nav:hover{opacity:1}.day-nav.prev{inset-inline-start:6px}.day-nav.next{inset-inline-end:6px}[dir=rtl] .day-nav svg{transform:scaleX(-1)}.hourgrid-inner{display:flex;min-height:0}.hourgrid-hours{flex:0 0 44px;position:relative}.hourgrid-hour{position:relative;border-top:1px solid transparent}.hourgrid-hour span{position:absolute;top:-.5em;inset-inline-end:4px;font-size:.625rem;color:var(--text-tertiary);background:var(--bg-primary);padding:0 2px}.hourgrid-hour span.first{top:2px}.hourgrid-hour-end{position:absolute;inset-inline:0;height:0}.hourgrid-hour-end span{position:absolute;top:-.5em;inset-inline-end:4px;font-size:.625rem;color:var(--text-tertiary);background:var(--bg-primary);padding:0 2px}.hourgrid-now-time{position:absolute;inset-inline-end:2px;transform:translateY(-50%);font-size:.625rem;font-weight:600;color:var(--accent-color);background:var(--bg-primary);padding:0 2px;border-radius:3px;z-index:4}.hourgrid-col{position:relative;flex:1 1 0;min-width:0;border-inline-start:1px solid var(--border-color);background-image:repeating-linear-gradient(to bottom,var(--border-color) 0,var(--border-color) 1px,transparent 1px,transparent 56px)}.hourgrid-col.today{background-color:color-mix(in srgb,var(--accent-color) 4%,transparent)}.hourgrid-block{position:absolute;padding:2px 4px;border:none;border-radius:5px;background:var(--accent-color);color:#fff;font-size:.6875rem;font-weight:600;line-height:1.25;text-align:start;overflow:hidden;cursor:pointer;z-index:2}.hourgrid-block.opportunity{background:var(--bg-secondary);color:var(--text-primary);border:1px dashed var(--accent-color)}.hourgrid-block.dimmed{opacity:.55}.hourgrid-band{position:absolute;inset-inline:1px;border-inline-start:2px solid transparent;border-radius:3px;pointer-events:none;z-index:1;overflow:hidden}.hourgrid-band.band-retrograde{background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--accent-color) 7%,transparent) 0 6px,transparent 6px 12px);border-inline-start-color:color-mix(in srgb,var(--accent-color) 40%,transparent)}.hourgrid-band.band-weather{background:color-mix(in srgb,#4a90d9 12%,transparent);border-inline-start-color:color-mix(in srgb,#4a90d9 55%,transparent)}.hourgrid-band.band-light{background:color-mix(in srgb,#f59e0b 10%,transparent);border-inline-start-color:color-mix(in srgb,#f59e0b 55%,transparent)}.hourgrid-band-label{position:sticky;top:3px;display:inline-block;margin:3px;padding:0 4px;border-radius:3px;font-size:.5625rem;font-weight:600;line-height:1.6;color:var(--text-secondary);background:color-mix(in srgb,var(--bg-primary) 80%,transparent);white-space:nowrap}.hourgrid-now-line{position:absolute;inset-inline:0;height:2px;background:var(--accent-color);z-index:3;pointer-events:none}.hourgrid-now-dot{position:absolute;top:-3px;inset-inline-start:-1px;width:8px;height:8px;border-radius:50%;background:var(--accent-color)}.day-grid{min-height:0}.day-grid-allday{display:flex;gap:8px;align-items:flex-start;padding:6px 8px;border-bottom:1px solid var(--border-color)}.day-grid-allday-label{flex:0 0 36px;font-size:.625rem;color:var(--text-tertiary);padding-top:2px;text-align:end}.day-grid-allday-chips{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.day-grid-allday-chips .week-allday-chip{text-align:start}@media (prefers-reduced-motion: reduce){.day-grid *{scroll-behavior:auto!important}}.week-view{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}.week-head{display:flex;flex:0 0 auto;border-bottom:1px solid var(--border-color);background:var(--bg-primary)}.week-gutter-spacer{flex:0 0 44px}.week-head-scroll{flex:1;min-width:0;overflow:hidden}.week-head-track{display:flex;width:466.6667%}.week-head-page{flex:0 0 20%;display:flex}.week-head-cell{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 2px 6px;border:none;border-inline-start:1px solid var(--border-color);background:transparent;color:var(--text-primary);cursor:pointer;font:inherit}.week-head-name{font-size:.6875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em}.week-head-num{font-size:1.125rem;font-weight:500;line-height:1.2;width:1.75em;height:1.75em;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}.week-head-cell.weekend .week-head-name,.week-head-cell.weekend .week-head-num{color:var(--text-tertiary)}.week-head-cell.today .week-head-num{background:var(--accent-color);color:#fff}.week-head-cell.selected:not(.today) .week-head-num{background:var(--text-primary);color:var(--bg-primary)}.week-allday{display:flex;flex-direction:column;gap:1px;width:100%;padding:0 2px}.week-allday-chip{display:block;max-width:100%;padding:1px 4px;border-radius:4px;background:var(--accent-color);color:#fff;font-size:.625rem;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.week-allday-chip.opportunity{background:var(--bg-secondary);color:var(--text-primary);border:1px dashed var(--accent-color)}.week-allday-chip.dimmed{opacity:.55}.week-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.week-hscroll{flex:1;min-width:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}.week-hscroll::-webkit-scrollbar{display:none}.week-page{flex:0 0 93.3333%;display:flex;scroll-snap-align:start;scroll-snap-stop:always}@media (prefers-reduced-motion: reduce){.week-view *{scroll-behavior:auto!important}}.nature-panel{margin-bottom:1rem}.nature-location-select{margin-bottom:.75rem}.nature-location-select .use-current-location{margin-top:.5rem;padding:.375rem .75rem;font-size:.8125rem;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer}.nature-location-select .use-current-location:hover:not(:disabled){border-color:var(--accent-color)}.nature-location-select .use-current-location:disabled{opacity:.6;cursor:default}.nature-location-select .geo-message{margin-top:.5rem;font-size:.8125rem;color:var(--text-secondary)}.nature-location-line{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;margin-bottom:.625rem}.nature-source-badge,.nature-kind{font-size:.6875rem;padding:.125rem .5rem;border-radius:10px;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary)}.nature-location-name{font-weight:600;color:var(--text-primary)}.nature-location-tz{font-size:.75rem;color:var(--text-tertiary)}.nature-loading{font-size:.8125rem;color:var(--text-tertiary);padding:.25rem 0}.nature-error{font-size:.8125rem;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:.5rem .75rem;margin-bottom:.5rem}.nature-error-inline{font-size:.75rem;color:var(--text-tertiary)}.nature-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:.625rem .75rem;margin-bottom:.5rem}.nature-card-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.375rem}.nature-glyph{font-size:1.125rem}.nature-weather-label{font-weight:600;color:var(--text-primary)}.nature-stats{display:flex;flex-wrap:wrap;gap:.375rem 1rem}.nature-stat{font-size:.8125rem;color:var(--text-primary)}.nature-stat-label{color:var(--text-tertiary);margin-inline-end:.25rem}.nature-climate-banner{font-size:.8125rem;font-weight:600;color:var(--text-primary);background:var(--bg-primary);border:1px dashed var(--border-color);border-radius:6px;padding:.375rem .625rem;margin-bottom:.375rem}.nature-climate-years{font-size:.75rem;color:var(--text-tertiary);margin-bottom:.375rem}.nature-items-title{margin:.75rem 0 .375rem;font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.nature-item-title{font-weight:600;color:var(--text-primary)}.nature-item-time{font-size:.8125rem;color:var(--text-secondary)}.nature-item-loc{font-size:.75rem;color:var(--text-tertiary);margin-bottom:.25rem}.nature-item-weather{font-size:.8125rem;color:var(--text-primary);margin-bottom:.25rem}.nature-item-moon{font-size:.75rem;color:var(--text-secondary);margin-bottom:.25rem}.nature-item-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.nature-attribution{display:inline-block;margin-top:.375rem;font-size:.6875rem;color:var(--text-tertiary)}.nature-attribution:hover{color:var(--accent-color)}.kairos-card{padding:.625rem .75rem;border:1px solid var(--border-color);border-radius:.625rem;background:var(--bg-secondary);margin-bottom:.75rem}.kairos-card-title{font-size:.75rem;font-weight:700;color:var(--text-secondary);letter-spacing:.02em;margin-bottom:.5rem}.kairos-empty{font-size:.75rem;color:var(--text-tertiary);margin:0}.kairos-group+.kairos-group{margin-top:.375rem;padding-top:.375rem;border-top:1px dashed color-mix(in srgb,var(--border-color) 60%,transparent)}.kairos-item{display:flex;align-items:flex-start;gap:.375rem;padding:.1875rem 0}.kairos-item-icon{flex:none;font-size:.6875rem;line-height:1.4;width:.875rem;text-align:center}.kairos-item.kind-friction .kairos-item-icon{color:#d97706}.kairos-item.kind-highlight .kairos-item-icon{color:var(--accent-color)}.kairos-item.kind-window .kairos-item-icon{color:#f59e0b}.kairos-item-body{flex:1;min-width:0}.kairos-item-title{font-size:.75rem;font-weight:600;color:var(--text-primary);display:flex;align-items:baseline;gap:.375rem;flex-wrap:wrap}.kairos-item-day,.kairos-item-span{font-size:.625rem;font-weight:500;color:var(--text-tertiary);direction:ltr}.kairos-item-reason{font-size:.6875rem;color:var(--text-secondary);line-height:1.45}.kairos-item-src{flex:none;font-size:.5625rem;font-weight:600;color:var(--text-tertiary);border:1px solid var(--border-color);border-radius:3px;padding:.0625rem .25rem;direction:ltr;margin-top:.125rem}.kairos-week{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-color)}.kairos-week-title{font-size:.625rem;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem}.organizer-section .day-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.organizer-add{background:none;border:1px dashed var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:.8125rem;padding:.25rem .625rem;cursor:pointer}.organizer-add:hover{border-color:var(--accent-color);color:var(--accent-color)}.organizer-empty{font-size:.8125rem;color:var(--text-tertiary);margin:0}.opportunity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.375rem}.opportunity-item{display:flex;justify-content:space-between;gap:.5rem;padding:.375rem .5rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary)}.opportunity-item.dimmed{opacity:.55}.opportunity-main{flex:1;min-width:0}.opportunity-topline{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap}.opportunity-title{font-size:.875rem;font-weight:500;color:var(--text-primary)}.opportunity-source,.opportunity-cancelled{font-size:.6875rem;border-radius:999px;padding:.0625rem .4375rem;border:1px solid var(--border-color);color:var(--text-tertiary)}.opportunity-cancelled{border-color:var(--text-secondary);color:var(--text-secondary)}.opportunity-meta{font-size:.75rem;color:var(--text-secondary);margin-top:.125rem;display:flex;gap:.5rem;flex-wrap:wrap}.opportunity-cancelled-note{font-size:.75rem;color:var(--text-secondary);margin:.125rem 0 0}.opportunity-links{display:flex;gap:.375rem;flex-wrap:wrap;margin-top:.25rem}.opportunity-link{font-size:.75rem;color:var(--accent-color);text-decoration:none;border:1px solid var(--border-color);border-radius:999px;padding:.0625rem .5rem}.opportunity-link:hover{border-color:var(--accent-color)}.opportunity-actions{display:flex;align-items:center;gap:.375rem;flex:0 0 auto}.opportunity-actions select{font-size:.75rem;padding:.125rem .25rem;max-width:8rem}.organizer-edit{background:none;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:.75rem;padding:.1875rem .5rem;cursor:pointer}.organizer-edit:hover{color:var(--text-primary);border-color:var(--text-secondary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.modal-content{background-color:var(--bg-primary);border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.modal-close{background:none;border:none;font-size:2rem;line-height:1;cursor:pointer;color:var(--text-secondary);padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s ease}.modal-close:hover{background-color:var(--border-color);color:var(--text-primary)}.modal-body{padding:1.5rem}.button{border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}.button:focus{outline:2px solid var(--accent-color);outline-offset:2px}.button:disabled{opacity:.5;cursor:not-allowed}.button-primary{background-color:var(--accent-color);color:#fff}.button-primary:hover{background-color:var(--accent-hover)}.button-secondary{background-color:var(--border-color);color:var(--text-primary)}.button-secondary:hover{background-color:var(--text-secondary)}.button-danger{background-color:#ef4444;color:#fff}.button-danger:hover{background-color:#dc2626}.button-small{padding:.375rem .75rem;font-size:.875rem}.button-medium{padding:.5rem 1rem;font-size:1rem}.button-large{padding:.75rem 1.5rem;font-size:1.125rem}.opportunity-form .opportunity-imported-note{font-size:.8125rem;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:.5rem .75rem;margin-bottom:.75rem}.opportunity-form .opportunity-publisher{border:1px solid var(--border-color);border-radius:8px;padding:.625rem .75rem;margin-bottom:.75rem;background:var(--bg-secondary)}.opportunity-form .publisher-title{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.opportunity-form .publisher-description{font-size:.8125rem;color:var(--text-secondary);margin-bottom:.25rem;white-space:pre-wrap}.opportunity-form .publisher-time,.opportunity-form .publisher-location{font-size:.8125rem;color:var(--text-secondary)}.opportunity-form .opportunity-map-hint{font-size:.75rem;color:var(--text-tertiary);margin:.25rem 0 .5rem}.opportunity-form .link-row{display:flex;gap:.375rem;margin-bottom:.375rem;align-items:center}.opportunity-form .link-row select{flex:0 0 auto}.opportunity-form .link-row input[type=text]{flex:0 0 30%;min-width:0}.opportunity-form .link-row input[type=url]{flex:1;min-width:0;direction:ltr}.opportunity-form .link-remove{flex:0 0 auto;background:none;border:none;color:var(--text-tertiary);font-size:1.125rem;cursor:pointer;padding:0 .25rem}.opportunity-form .link-remove:hover{color:var(--text-primary)}.opportunity-form .link-add{background:none;border:1px dashed var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:.8125rem;padding:.25rem .625rem;cursor:pointer}.opportunity-form .link-add:hover{border-color:var(--accent-color);color:var(--accent-color)}.opportunity-form .form-error{font-size:.8125rem;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:.5rem .75rem;margin-bottom:.75rem}.event-form{display:flex;flex-direction:column;gap:1rem;min-width:280px}.form-field{display:flex;flex-direction:column;gap:.375rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.form-field label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.form-field input,.form-field select,.form-field textarea{padding:.625rem .75rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-primary);color:var(--text-primary);font-size:.9375rem;font-family:inherit;transition:border-color .15s ease}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--accent-color)}.form-field textarea{resize:vertical;min-height:60px}.color-presets{display:flex;gap:.5rem;flex-wrap:wrap}.color-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,border-color .15s ease;padding:0}.color-swatch:hover{transform:scale(1.1)}.color-swatch.selected{border-color:var(--text-primary);transform:scale(1.1)}.form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.25rem}.journal-form{display:flex;flex-direction:column;gap:1rem;min-width:320px}.journal-form textarea{line-height:1.6}.mood-options{display:flex;gap:.5rem;flex-wrap:wrap}.mood-option{padding:.375rem .875rem;border:1px solid var(--border-color);border-radius:999px;background-color:var(--bg-primary);color:var(--text-primary);font-size:.875rem;font-family:inherit;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.mood-option:hover{border-color:var(--accent-color)}.mood-option.selected{background-color:var(--accent-color);border-color:var(--accent-color);color:#fff}.goal-form,.habit-form,.decision-form{display:flex;flex-direction:column;gap:1rem;min-width:320px}.floating-pill{position:fixed;z-index:60;display:flex;align-items:center;gap:2px;padding:4px;border-radius:999px;background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:0 4px 16px #0000001f;backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6)}.pill-top-leading{top:calc(env(safe-area-inset-top,0px) + 10px);inset-inline-start:12px}.pill-top-trailing{top:calc(env(safe-area-inset-top,0px) + 10px);inset-inline-end:12px}.pill-top-center{top:calc(env(safe-area-inset-top,0px) + 10px);left:50%;transform:translate(-50%);display:none}.pill-cluster{display:contents}@media (min-width: 760px){.pill-top-center{display:flex}.pill-cluster{display:flex;position:fixed;top:calc(env(safe-area-inset-top,0px) + 10px);inset-inline-start:12px;gap:8px;z-index:60}.pill-cluster .floating-pill{position:static}.pill-cluster .pill-top-leading,.pill-cluster .pill-view-menu{display:none}.pill-cluster .pill-top-center{position:fixed;top:calc(env(safe-area-inset-top,0px) + 10px);left:50%;transform:translate(-50%)}}.pill-bottom-leading{bottom:calc(env(safe-area-inset-bottom,0px) + 12px);inset-inline-start:12px}.pill-bottom-trailing{bottom:calc(env(safe-area-inset-bottom,0px) + 12px);inset-inline-end:12px}.pill-button{position:relative;display:inline-flex;align-items:center;gap:5px;min-width:40px;height:40px;justify-content:center;padding:0 10px;border:none;border-radius:999px;background:transparent;color:var(--text-primary);font-size:.9375rem;font-weight:500;cursor:pointer;transition:background .15s}.pill-button:hover:not(:disabled){background:var(--bg-primary)}.pill-button:disabled{opacity:.35;cursor:default}.pill-button.active{color:var(--accent-color)}.pill-button.with-label{padding:0 14px}.pill-label{white-space:nowrap}.pill-back-chevron{display:inline-flex;margin-inline-end:-2px}[dir=rtl] .pill-back-chevron svg{transform:scaleX(-1)}.pill-badge{position:absolute;top:0;inset-inline-end:0;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--danger-color, #dc2626);color:#fff;font-size:.6875rem;font-weight:700;line-height:17px;text-align:center}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:69}.view-menu{position:absolute;top:calc(100% + 8px);inset-inline-end:0;z-index:70;min-width:190px;padding:5px;border-radius:14px;background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:0 8px 28px #0003;backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);animation:menuPop .14s ease-out}.view-menu-row{display:flex;align-items:center;gap:6px;width:100%;padding:9px 10px;border:none;border-radius:9px;background:transparent;color:var(--text-primary);font-size:.875rem;text-align:start;cursor:pointer}.view-menu-row:hover{background:var(--bg-primary)}.view-menu-check{width:18px;display:inline-flex;justify-content:center;color:var(--accent-color)}.view-menu-sep{height:1px;margin:4px 8px;background:var(--border-color)}.view-menu-label{padding:4px 10px 2px;font-size:.6875rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}@keyframes menuPop{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.view-menu{animation:none}}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#00000059;display:flex;align-items:flex-end;justify-content:center;animation:sheetFadeIn .18s ease-out}.bottom-sheet{width:100%;max-width:560px;max-height:min(78vh,720px);display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border-color);border-bottom:none;border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom,0px);animation:sheetSlideUp .24s cubic-bezier(.32,.72,.35,1);box-shadow:0 -8px 32px #0000002e}.sheet-grabber{width:36px;height:5px;border-radius:999px;background:var(--border-color);margin:8px auto 2px;flex-shrink:0}.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:6px 16px 10px;border-bottom:1px solid var(--border-color)}.sheet-title{margin:0;font-size:1.0625rem;font-weight:600}.sheet-header-actions{display:flex;align-items:center;gap:8px;margin-inline-start:auto}.sheet-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:999px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer}.sheet-body{overflow-y:auto;padding:14px 16px 20px;-webkit-overflow-scrolling:touch}@media (min-width: 760px){.sheet-overlay{align-items:stretch;justify-content:flex-start;background:#0000001f}.bottom-sheet{width:min(400px,44vw);max-width:none;max-height:none;height:100%;border-bottom:1px solid var(--border-color);border-radius:0 20px 20px 0;padding-bottom:0;animation:sheetSlideInX .24s cubic-bezier(.32,.72,.35,1);box-shadow:8px 0 32px #0000002e}[dir=rtl] .bottom-sheet,.rtl .bottom-sheet{border-radius:20px 0 0 20px;box-shadow:-8px 0 32px #0000002e;animation-name:sheetSlideInXRTL}.sheet-grabber{display:none}}@media (prefers-reduced-motion: reduce){.sheet-overlay,.bottom-sheet{animation:none}}@keyframes sheetFadeIn{0%{opacity:0}to{opacity:1}}@keyframes sheetSlideUp{0%{transform:translateY(60%);opacity:.6}to{transform:translateY(0);opacity:1}}@keyframes sheetSlideInX{0%{transform:translate(-40%);opacity:.6}to{transform:translate(0);opacity:1}}@keyframes sheetSlideInXRTL{0%{transform:translate(40%);opacity:.6}to{transform:translate(0);opacity:1}}.record-detail{display:flex;flex-direction:column;gap:4px}.detail-title{margin:0 0 8px;font-size:1.125rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.detail-row{display:flex;gap:10px;padding:6px 0;font-size:.875rem}.detail-label{min-width:70px;color:var(--text-tertiary);flex-shrink:0}.detail-value{color:var(--text-primary)}.detail-body{margin:8px 0 0;font-size:.9375rem;line-height:1.55;color:var(--text-primary);white-space:pre-wrap}.detail-transits{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.detail-transit{font-size:.8125rem;padding:3px 8px;border-radius:8px;background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary)}.detail-edit-button{padding:6px 14px;border:none;border-radius:999px;background:var(--bg-primary);color:var(--accent-color);font-size:.875rem;font-weight:600;cursor:pointer}.detail-edit-button:hover{background:var(--border-color)}.unified-calendar{width:100%;max-width:900px;margin:0 auto;padding:1rem;padding-top:calc(env(safe-area-inset-top,0px) + 64px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 84px);background-color:var(--bg-primary);border-radius:12px;box-shadow:0 4px 6px -1px #0000001a}.unified-calendar.rtl{direction:rtl}.period-title{margin-bottom:1rem;text-align:start}.primary-month{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0;line-height:1.2}.primary-month.accent{color:var(--accent-color)}.secondary-months{display:inline-flex;align-items:baseline;gap:.125rem;margin-inline-start:.6rem;font-size:.875rem;font-weight:500}.secondary-month{font-size:.875rem;font-weight:500;color:var(--text-secondary);opacity:.8}.secondary-month.clickable{background:none;border:none;padding:.25rem .5rem;border-radius:4px;cursor:pointer;transition:all .2s ease;font-family:inherit}.secondary-month.clickable:hover{background-color:var(--accent-color);color:#fff;opacity:1;transform:translateY(-1px)}.secondary-month.clickable:active{transform:translateY(0)}.secondary-month.current{color:var(--accent-color);opacity:.65}.unified-calendar.vt-enter-forward{animation:vtSlideFromTrailing .32s cubic-bezier(.32,.72,.35,1)}.unified-calendar.vt-enter-back{animation:vtSlideFromLeading .32s cubic-bezier(.32,.72,.35,1)}@keyframes vtSlideFromTrailing{0%{transform:translate(24%);opacity:.6}to{transform:translate(0);opacity:1}}@keyframes vtSlideFromLeading{0%{transform:translate(-24%);opacity:.6}to{transform:translate(0);opacity:1}}[dir=rtl] .unified-calendar.vt-enter-forward{animation-name:vtSlideFromLeading}[dir=rtl] .unified-calendar.vt-enter-back{animation-name:vtSlideFromTrailing}@media (prefers-reduced-motion: reduce){.unified-calendar.vt-enter-forward,.unified-calendar.vt-enter-back{animation:none}}.unified-calendar{position:relative}.unified-calendar:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--bg-primary);opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:10}.unified-calendar.transitioning:before{opacity:.1}.month-separator{font-size:.875rem;color:var(--text-secondary);opacity:.6;padding:0 .125rem;-webkit-user-select:none;user-select:none}.selected-day-info{margin-top:1.5rem;padding:1rem;background-color:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.selected-day-header{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.selected-day-dates{display:flex;flex-direction:column;gap:.5rem}.selected-day-date{display:flex;align-items:center;gap:.75rem}.selected-day-date.primary{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.selected-day-date.secondary{font-size:1rem;font-weight:500;color:var(--text-secondary)}.selected-day-date.rtl{direction:rtl;text-align:right}.system-name{font-weight:500;color:var(--text-secondary);font-size:.875rem}.date-value{font-weight:600;color:var(--text-primary)}.selected-day-content{display:flex;flex-direction:column;gap:1rem}.selected-day-events h4,.selected-day-astrology h4{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.events-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.events-header h4{margin:0}.add-event-button{padding:.375rem .75rem;font-size:.8125rem;font-weight:500;color:var(--accent-color);background-color:transparent;border:1px solid var(--accent-color);border-radius:6px;cursor:pointer;transition:all .15s ease}.add-event-button:hover{background-color:var(--accent-color);color:#fff}.event-delete{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:1rem;line-height:1;color:var(--text-tertiary);background:transparent;border:none;border-radius:4px;cursor:pointer;opacity:0;transition:opacity .15s ease,color .15s ease}.event-item:hover .event-delete{opacity:1}.event-delete:hover{color:#ef4444;background-color:var(--bg-secondary)}.events-list{display:flex;flex-direction:column;gap:.75rem}.event-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background-color:var(--bg-primary);border-radius:6px;border:1px solid var(--border-color)}.event-color{width:12px;height:12px;border-radius:50%;margin-top:.125rem;flex-shrink:0}.event-item.clickable{cursor:pointer;transition:border-color .15s ease}.event-item.clickable:hover{border-color:var(--accent-color)}.recurrence-badge{display:inline-block;margin-left:.375rem;font-size:.75rem;color:var(--text-secondary);vertical-align:middle}[dir=rtl] .recurrence-badge{margin-left:0;margin-right:.375rem}.event-details{flex:1;min-width:0}.event-title{font-weight:600;color:var(--text-primary);font-size:.875rem;margin-bottom:.25rem}.event-description{font-size:.75rem;color:var(--text-secondary);margin-bottom:.25rem;line-height:1.3}.event-time{font-size:.75rem;color:var(--text-secondary);font-weight:500}.event-location{font-size:.7rem;color:var(--text-secondary);margin-top:.125rem}.event-commute{font-size:.7rem;color:var(--accent-color);margin-top:.125rem}.save-place-toggle{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-secondary);cursor:pointer;font-weight:400}.no-events{padding:1rem;text-align:center;color:var(--text-secondary);font-size:.875rem}.astrology-list{display:flex;flex-direction:column;gap:.5rem}.astrology-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background-color:var(--bg-primary);border-radius:6px;border:1px solid var(--border-color)}.astrology-icon{font-size:1.25rem;flex-shrink:0}.astrology-name{font-size:.875rem;color:var(--text-primary);font-weight:500}.journal-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background-color:var(--bg-primary);border-radius:6px;border:1px solid var(--border-color);cursor:pointer;transition:border-color .15s ease}.journal-item:hover{border-color:var(--accent-color)}.journal-item:hover .event-delete{opacity:1}.journal-body-preview{font-size:.75rem;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap}.mood-badge{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;border-radius:999px;font-size:.6875rem;font-weight:500;background-color:var(--bg-secondary);color:var(--text-secondary);vertical-align:middle}.mood-badge.mood-great{background-color:#dcfce7;color:#15803d}.mood-badge.mood-good{background-color:#e0f2fe;color:#0369a1}.mood-badge.mood-neutral{background-color:var(--bg-secondary);color:var(--text-secondary)}.mood-badge.mood-low{background-color:#fef3c7;color:#b45309}.mood-badge.mood-rough{background-color:#fee2e2;color:#b91c1c}.habit-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background-color:var(--bg-primary);border-radius:6px;border:1px solid var(--border-color)}.habit-item:hover .habit-delete{opacity:1}.habit-check{flex-shrink:0;width:24px;height:24px;border-radius:50%;border:2px solid var(--border-color);background-color:transparent;color:#fff;font-size:.875rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;padding:0}.habit-check:hover{border-color:var(--accent-color)}.habit-check.checked{background-color:var(--accent-color);border-color:var(--accent-color)}.habit-icon{margin-right:.375rem}[dir=rtl] .habit-icon{margin-right:0;margin-left:.375rem}.streak-badge{display:inline-block;margin-left:.5rem;font-size:.75rem;font-weight:500;color:var(--text-secondary);vertical-align:middle}[dir=rtl] .streak-badge{margin-left:0;margin-right:.5rem}.revisit-badge{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;border-radius:999px;font-size:.6875rem;font-weight:500;background-color:#fef3c7;color:#b45309;vertical-align:middle}[dir=rtl] .revisit-badge{margin-left:0;margin-right:.5rem}.mark-done-button{flex-shrink:0;align-self:center}.transit-snapshot{display:flex;flex-direction:column;gap:.375rem;margin-top:.375rem}.decision-outcome{margin-top:.375rem}.outcome-input{width:100%;padding:.375rem .5rem;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:.8125rem;font-family:inherit;box-sizing:border-box}.outcome-input:focus{outline:none;border-color:var(--accent-color)}[dir=rtl] .event-item,[dir=rtl] .journal-item{flex-direction:row-reverse}[dir=rtl] .mood-badge{margin-left:0;margin-right:.5rem}[dir=rtl] .astrology-item,[dir=rtl] .selected-day-date{flex-direction:row-reverse}@media (max-width: 768px){.calendar-header{flex-direction:column;gap:1rem;align-items:stretch}.calendar-navigation{justify-content:center}.current-period{min-width:auto;font-size:1.25rem}.date-representations{gap:.375rem}.system-name{min-width:60px;font-size:.875rem}.date-value{font-size:1rem}}@media (max-width: 480px){.unified-calendar{padding:.75rem;padding-top:calc(env(safe-area-inset-top,0px) + 64px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 84px)}.calendar-header{margin-bottom:1rem;padding-bottom:.75rem}.current-period{font-size:1.125rem}.nav-button{width:36px;height:36px;font-size:1.125rem}.today-button{padding:.375rem .75rem;font-size:.875rem}}.unified-calendar.month-scroll{display:flex;flex-direction:column;height:100%;min-height:0}.unified-calendar.month-scroll>.month-scroller{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.unified-calendar.month-scroll .scroller-weekdays{padding-top:0}.unified-calendar.week-scroll{display:flex;flex-direction:column;height:100%;min-height:0}.unified-calendar.week-scroll>.week-view{flex:1 1 auto;min-height:0}@media (min-width: 760px){.unified-calendar.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,34vw);column-gap:1.25rem;align-items:start}.unified-calendar.split.month-scroll{height:100%;min-height:0;grid-template-rows:auto minmax(0,1fr)}.unified-calendar.split.month-scroll>.month-scroller{align-self:stretch;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.unified-calendar.split>:not(.selected-day-info){grid-column:1}.unified-calendar.split>.selected-day-info{grid-column:2;grid-row:1 / -1;position:sticky;top:calc(env(safe-area-inset-top,0px) + 62px);max-height:calc(100vh - env(safe-area-inset-top,0px) - 80px);overflow-y:auto;margin-top:0}}@media (max-width: 759.98px){.unified-calendar.list-mode{display:flex;flex-direction:column;height:100%;min-height:0}.unified-calendar.list-mode .selected-day-info{flex:1 1 auto;min-height:0;margin-top:.75rem;overflow-y:auto;overscroll-behavior:contain;border-radius:12px 12px 0 0}}.unified-calendar.list-mode .month-scroller{flex:0 0 auto;max-height:52%;min-height:0;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;transition:max-height .25s ease}.unified-calendar.list-mode .month-scroller.swiping{transition:none}.unified-calendar.list-mode .week-row.first-row{scroll-snap-align:start;scroll-margin-top:calc(var(--band-h, 42px) - 1px)}.unified-calendar.list-mode .calendar-day{aspect-ratio:auto;height:auto;min-height:46px}@media (max-width: 759.98px){.unified-calendar.list-mode .scroller-weekdays{padding-top:0}}.toggle-container{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none;padding:.5rem;border-radius:6px;transition:background-color .2s ease}.toggle-container:hover:not(.disabled){background-color:var(--bg-secondary)}.toggle-container.disabled{opacity:.5;cursor:not-allowed}.toggle-input{position:absolute;opacity:0;width:0;height:0;margin:0;padding:0}.toggle-switch{position:relative;width:44px;height:24px;background-color:var(--border-color);border-radius:12px;transition:background-color .2s ease;flex-shrink:0}.toggle-switch:before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background-color:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.toggle-input:checked+.toggle-switch{background-color:var(--accent-color)}.toggle-input:checked+.toggle-switch:before{transform:translate(20px)}.toggle-input:focus+.toggle-switch{outline:2px solid var(--accent-color);outline-offset:2px}.toggle-text{flex:1;min-width:0}.toggle-label{font-size:.875rem;font-weight:500;color:var(--text-primary);line-height:1.3}.toggle-description{font-size:.75rem;color:var(--text-secondary);line-height:1.3;margin-top:.125rem}[dir=rtl] .toggle-container{flex-direction:row-reverse}[dir=rtl] .toggle-switch:before{left:auto;right:2px}[dir=rtl] .toggle-input:checked+.toggle-switch:before{transform:translate(-20px)}.display-settings{padding:1rem 0;max-height:70vh;overflow-y:auto}.settings-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color);padding-bottom:1rem}.settings-tab{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-secondary);color:var(--text-primary);cursor:pointer;font-weight:500;transition:all .2s ease;font-family:inherit}.settings-tab:hover{background-color:var(--border-color)}.settings-tab.active{background-color:var(--accent-color);color:#fff;border-color:var(--accent-color)}.settings-section{margin-bottom:2rem}.settings-section h4{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.settings-description{margin:0 0 1rem;font-size:.875rem;color:var(--text-secondary);line-height:1.4}.calendar-systems,.language-options,.direction-options,.format-options,.week-start-options{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.system-option,.language-option,.direction-option,.format-option,.week-start-option{padding:.5rem;border:1px solid var(--border-color);border-radius:8px;transition:all .2s ease;background-color:var(--bg-primary)}.system-option:hover,.language-option:hover,.direction-option:hover,.format-option:hover,.week-start-option:hover{background-color:var(--bg-secondary);border-color:var(--accent-color)}.system-row{display:flex;align-items:center;gap:.5rem}.system-row .toggle-container{flex:1;min-width:0}.system-row.is-primary{border-color:var(--accent-color);background-color:color-mix(in srgb,var(--accent-color) 6%,var(--bg-primary))}.primary-star{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1;background:transparent;border:none;border-radius:6px;color:var(--text-tertiary);cursor:pointer;transition:color .15s ease,background-color .15s ease;padding:0}.primary-star:hover:not(:disabled){color:var(--accent-color);background-color:var(--bg-secondary)}.primary-star.active{color:#f59e0b;cursor:default}[dir=rtl] .settings-section{text-align:right}[dir=rtl] .settings-tabs{justify-content:flex-end}[dir=rtl] .system-option,[dir=rtl] .language-option,[dir=rtl] .direction-option,[dir=rtl] .format-option,[dir=rtl] .week-start-option{direction:rtl}@media (max-width: 640px){.settings-tabs{flex-direction:column;gap:.25rem}.settings-tab{text-align:left}.system-option,.language-option,.direction-option,.format-option,.week-start-option{padding:.375rem}}.data-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.data-import-label{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;font-weight:500}.data-import-label.disabled{opacity:.55;cursor:not-allowed}.data-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.data-message{margin-top:.75rem;font-size:.875rem}.data-message.success{color:var(--success-color, #15803d)}.data-message.error{color:var(--danger-color, #b91c1c)}.sync-signin,.sync-status{display:flex;flex-direction:column;gap:.75rem}.sync-input{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:.9375rem;max-width:320px}.sync-input:focus{outline:none;border-color:var(--accent-color)}.natal-chart{min-width:340px}.natal-hint{margin:0;font-size:.75rem;color:var(--text-secondary);line-height:1.4}.natal-birth-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.birth-date.primary{font-weight:600;color:var(--text-primary);font-size:.9375rem}.birth-date.secondary{font-size:.8125rem;color:var(--text-secondary);margin-top:.125rem}.birth-time{color:var(--text-secondary);font-weight:400}.natal-table{display:flex;flex-direction:column;gap:.25rem}.natal-row{display:flex;align-items:center;gap:.625rem;padding:.375rem .5rem;border-radius:6px;font-size:.875rem}.natal-row:hover{background-color:var(--bg-secondary)}.natal-planet-symbol{width:1.25rem;text-align:center;font-size:1rem;flex-shrink:0}.natal-planet-name{flex:1;color:var(--text-primary);font-weight:500}.natal-sign{display:flex;align-items:center;gap:.375rem;color:var(--text-primary);min-width:5.5rem}.natal-sign-symbol{font-size:1rem;color:var(--text-secondary)}.natal-degree{font-variant-numeric:tabular-nums;color:var(--text-secondary);min-width:3.5rem;text-align:end}.natal-retro{font-size:.6875rem;font-weight:700;color:#b91c1c;background-color:#fee2e2;border-radius:4px;padding:.0625rem .25rem}.natal-house{font-size:.6875rem;color:var(--text-secondary);background-color:var(--bg-secondary);border-radius:4px;padding:.0625rem .375rem;white-space:nowrap}.natal-angle-row .natal-planet-name{font-weight:600}.natal-angle-row{border-bottom:1px solid var(--border-color)}.natal-section-title{margin:1rem 0 .375rem;font-size:.8125rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.natal-aspect-label{flex:1;color:var(--text-primary);font-weight:500}.natal-aspect-symbol{color:var(--accent-color);font-weight:600}.natal-aspect-name{font-size:.75rem;color:var(--text-secondary);min-width:4.5rem;text-align:end}.acg{min-width:340px;max-width:720px}.acg-empty{color:var(--text-secondary);font-size:.875rem;text-align:center;padding:1.5rem 0}.acg-map{width:100%;height:auto;border-radius:8px;border:1px solid var(--border-color)}.acg-ocean{fill:var(--bg-secondary)}.acg-grid{stroke:var(--border-color);stroke-width:.5;opacity:.5}.acg-equator{stroke:var(--border-color);stroke-width:.75;opacity:.8}.acg-land{fill:var(--bg-primary);stroke:var(--text-tertiary);stroke-width:.4;opacity:.9}.acg-marker-event{fill:var(--accent-color);stroke:#fff;stroke-width:1}.acg-marker-journal{fill:#10b981;stroke:#fff;stroke-width:1}.acg-marker-place{fill:#f59e0b;stroke:#fff;stroke-width:1}.acg-marker-birth{fill:none;stroke:var(--text-primary);stroke-width:1.5}.acg-items{display:flex;flex-wrap:wrap;gap:.375rem .875rem;margin-top:.625rem;font-size:.75rem;color:var(--text-secondary)}.acg-item{display:inline-flex;align-items:center;gap:.3rem}.acg-item-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.acg-item-dot.acg-marker-birth{width:9px;height:9px}.acg-item-coords{color:var(--text-tertiary)}.acg-birth-marker{fill:none;stroke:var(--text-primary);stroke-width:1.5}.acg-legend{display:flex;flex-wrap:wrap;gap:.625rem;align-items:center;margin-top:.625rem;font-size:.8125rem}.acg-legend-item{display:inline-flex;align-items:center;gap:.25rem;color:var(--text-secondary)}.acg-legend-swatch{width:10px;height:10px;border-radius:2px;display:inline-block}.acg-legend-lines{margin-left:auto;font-size:.75rem}[dir=rtl] .acg-legend-lines{margin-left:0;margin-right:auto}.steering-panel{width:280px;flex-shrink:0;padding:1rem;background-color:var(--bg-primary);border-radius:12px;border:1px solid var(--border-color);box-shadow:0 4px 6px -1px #0000001a;display:flex;flex-direction:column;gap:1rem;align-self:flex-start;position:sticky;top:1rem;max-height:calc(100vh - 6rem);overflow-y:auto}.steering-header h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.steering-section{display:flex;flex-direction:column;gap:.5rem}.steering-section h4{margin:0 0 .25rem;font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:none}.steering-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background-color:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-color)}.steering-item.clickable{cursor:pointer;transition:border-color .15s ease}.steering-item.clickable:hover{border-color:var(--accent-color)}.steering-item.overdue{border-color:#f59e0b}.steering-item .event-title{margin-bottom:0;font-size:.8125rem}.steering-empty{margin:0;font-size:.8125rem;color:var(--text-secondary)}.habit-row .habit-title{flex:1;font-size:.875rem;color:var(--text-primary)}.habit-row .habit-title.clickable{cursor:pointer}.mood-sparkline{width:100%;height:auto;display:block;background-color:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-color)}.retro-band{fill:var(--accent-color);opacity:.12}.mood-line{stroke:var(--accent-color);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.mood-dot{fill:var(--accent-color)}.mood-stat{margin:0;font-size:.75rem;color:var(--text-secondary)}.steering-actions{display:flex;gap:.5rem;flex-wrap:wrap}@media (max-width: 1100px){.steering-panel{width:100%;position:static;max-height:none}}.organizer-modal{display:flex;flex-direction:column;gap:.75rem}.organizer-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border-color)}.organizer-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:.875rem;padding:.375rem .75rem;cursor:pointer}.organizer-tab.active{color:var(--text-primary);border-bottom-color:var(--accent-color)}.organizer-error{font-size:.8125rem;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:.5rem .75rem}.organizer-hint{font-size:.8125rem;color:var(--text-secondary);margin:0}.organizer-filters{display:flex;gap:.375rem;flex-wrap:wrap;margin-bottom:.5rem}.organizer-filters select{font-size:.8125rem;padding:.1875rem .375rem}.organizer-empty-list{font-size:.8125rem;color:var(--text-tertiary)}.inbox-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;max-height:55vh;overflow-y:auto}.inbox-card{border:1px solid var(--border-color);border-radius:8px;padding:.5rem .625rem;background:var(--bg-secondary)}.inbox-card.dimmed{opacity:.55}.inbox-card-head{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap}.inbox-title{font-weight:500;color:var(--text-primary);font-size:.875rem}.inbox-when{font-size:.75rem;color:var(--text-secondary);margin-top:.125rem}.inbox-description{font-size:.8125rem;color:var(--text-secondary);margin-top:.25rem;white-space:pre-wrap}.inbox-actions{display:flex;gap:.375rem;margin-top:.375rem;align-items:center}.inbox-actions select{font-size:.75rem;padding:.125rem .25rem}.organizer-add-tab{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}.feed-form{display:flex;flex-direction:column;gap:.5rem}.feed-url-form{display:flex;gap:.375rem;flex-wrap:wrap}.feed-url-form input[type=text]{flex:0 0 30%;min-width:8rem}.feed-url-form input[type=url],.feed-url-form input[type=tel],.feed-url-form input[type=password]{flex:1;min-width:12rem;direction:ltr}.channel-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.375rem;max-height:16rem;overflow-y:auto}.telegram-connect{display:flex;flex-direction:column;gap:.5rem}.sync-result{font-size:.8125rem;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;padding:.375rem .625rem;background:var(--bg-secondary)}.sync-warnings{margin:.25rem 0 0;padding-inline-start:1.25rem;font-size:.75rem;color:var(--text-tertiary)}.feed-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.feed-card{border:1px solid var(--border-color);border-radius:8px;padding:.5rem .625rem;background:var(--bg-secondary)}.feed-card-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.feed-name{font-weight:500;color:var(--text-primary);font-size:.875rem}.feed-kind{font-size:.6875rem;border:1px solid var(--border-color);border-radius:999px;padding:.0625rem .4375rem;color:var(--text-tertiary)}.feed-synced{font-size:.75rem;color:var(--text-tertiary);margin-inline-start:auto}.feed-url{font-size:.75rem;color:var(--text-tertiary);direction:ltr;word-break:break-all}.feed-error{font-size:.8125rem;color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;padding:.375rem .5rem;margin-top:.25rem}.feed-actions{display:flex;gap:.375rem;align-items:center;flex-wrap:wrap;margin-top:.375rem}.feed-enabled-toggle{font-size:.8125rem;color:var(--text-secondary);display:flex;align-items:center}.sheet-section{margin-bottom:18px}.sheet-section-title{margin:0 0 8px;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.lens-chips{display:flex;flex-wrap:wrap;gap:8px}.lens-chip{padding:7px 14px;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .15s}.lens-chip.on{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.lens-chip.preset{font-weight:600}.lens-chip.preset:not(.on){border-style:dashed;color:var(--text-primary)}.sheet-rows{display:flex;flex-direction:column;border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.sheet-row{display:flex;align-items:center;gap:10px;padding:12px 14px;border:none;border-bottom:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);font-size:.9375rem;text-align:start;cursor:pointer}.sheet-row:last-child{border-bottom:none}.sheet-row:hover:not(:disabled){background:var(--bg-secondary)}.sheet-row:disabled{cursor:default}.sheet-row-label{flex:1;display:flex;align-items:center;gap:8px}.sheet-row-hint{font-size:.75rem;color:var(--text-secondary)}.sheet-row-check{color:var(--accent-color)}.sheet-segmented{display:flex;padding:3px;border-radius:10px;background:var(--bg-primary);border:1px solid var(--border-color)}.sheet-segment{flex:1;padding:7px 0;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer}.sheet-segment.active{background:var(--bg-secondary);color:var(--text-primary);box-shadow:0 1px 4px #0000001f}.app{width:100%;height:100%;display:flex;flex-direction:column}.app.rtl,.app.rtl .app-main{direction:rtl}.app-main{flex:1;display:flex;justify-content:center;align-items:flex-start;padding:.5rem;overflow-y:auto;overflow-x:hidden;overscroll-behavior-x:none;min-width:0;min-height:0;overflow-anchor:none}@media (max-width: 480px){.app-main{padding:0}}.loading{display:flex;justify-content:center;align-items:center;height:100%;color:var(--text-secondary);font-size:1.1rem}.theme-toggle{background:none;border:1px solid var(--border-color);border-radius:8px;padding:.5rem 1rem;cursor:pointer;font-size:1.2rem;transition:all .2s ease;font-family:inherit}.theme-toggle:hover{background-color:var(--border-color)}.theme-toggle:focus{outline:2px solid var(--accent-color);outline-offset:2px}.calendar-grid{width:100%;max-width:800px;margin:0 auto;background-color:var(--bg-primary);border-radius:12px;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a;position:relative}.calendar-grid.scroll-up{animation:slideUp .3s ease}.calendar-grid.scroll-down{animation:slideDown .3s ease}@keyframes slideUp{0%{transform:translateY(0);opacity:1}50%{transform:translateY(-20px);opacity:.8}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(0);opacity:1}50%{transform:translateY(20px);opacity:.8}to{transform:translateY(0);opacity:1}}.calendar-grid.rtl{direction:rtl}.calendar-grid.ltr{direction:ltr}.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background-color:var(--border-color);position:relative;overflow:hidden}.calendar-days:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,transparent,var(--bg-primary) 50%,transparent);opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:1}.calendar-grid.scrolling .calendar-days:before{opacity:.3}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.calendar-weekday{padding:.75rem .5rem;text-align:center;font-weight:600;font-size:.875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background-color:var(--border-color)}.calendar-grid.with-week-numbers .calendar-weekdays,.calendar-grid.with-week-numbers .calendar-days{grid-template-columns:2.25rem repeat(7,minmax(0,1fr))}.week-number-header{font-size:.625rem;display:flex;align-items:center;justify-content:center;padding:.75rem .25rem}.week-number{background-color:var(--bg-secondary);color:var(--text-tertiary);font-size:.625rem;font-weight:500;display:flex;align-items:center;justify-content:center;min-height:60px;-webkit-user-select:none;user-select:none}.calendar-day{aspect-ratio:1;background-color:var(--bg-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease,opacity .2s ease;min-height:60px;padding:.25rem}.calendar-grid.rtl .calendar-day{direction:rtl}.calendar-grid.ltr .calendar-day{direction:ltr}.calendar-day:hover{background-color:var(--bg-secondary);transform:scale(1.02)}.calendar-day.other-month{color:var(--text-tertiary);opacity:.5}.calendar-day.today{background-color:var(--accent-color);color:#fff;font-weight:600;border:2px solid var(--accent-color)}.calendar-day.today .calendar-date.primary{color:#fff}.calendar-day.today .secondary-date{color:#ffffffe6}.calendar-day.selected{background-color:var(--bg-secondary);color:var(--text-primary);font-weight:600;border:2px solid var(--accent-color);box-shadow:0 0 0 1px var(--accent-color)}.calendar-day.selected .calendar-date.primary{color:var(--accent-color)}.calendar-day.selected .secondary-date{color:var(--text-secondary)}.calendar-day.today.selected{background-color:var(--accent-color);color:#fff;border:2px solid var(--accent-color);box-shadow:0 0 0 2px var(--accent-color),0 0 0 4px var(--bg-primary)}.calendar-day.today.selected .calendar-date.primary{color:#fff}.calendar-day.today.selected .secondary-date{color:#ffffffe6}.calendar-day.has-events:before{content:"";position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background-color:var(--accent-color)}.calendar-day.has-astrological-events:after{content:"✨";position:absolute;bottom:2px;right:2px;font-size:.75rem;z-index:1}.calendar-date{display:flex;flex-direction:column;align-items:center;gap:.125rem}.calendar-date.primary{font-size:1.25rem;font-weight:600;color:var(--text-primary);line-height:1;margin-bottom:.125rem}.calendar-date.secondary{position:absolute;bottom:2px;right:4px;display:flex;flex-direction:column;align-items:flex-end;gap:.125rem;max-width:40%}.calendar-grid.rtl .calendar-date.secondary{right:auto;left:4px;align-items:flex-start}.secondary-date{font-size:.625rem;color:var(--text-secondary);opacity:.8;line-height:1;text-align:right}.calendar-grid.rtl .secondary-date{text-align:left}.secondary-date.rtl{direction:rtl;text-align:left}.cell-marks{position:absolute;bottom:2px;inset-inline-start:3px;display:flex;align-items:center;gap:3px;max-width:56%;overflow:hidden;z-index:1;pointer-events:none}.cell-marks .event-indicator{width:6px;height:6px;border-radius:50%;background-color:var(--accent-color);flex:none}.cell-marks .astrological-indicator{font-size:.75rem;line-height:1}.cell-marks .journal-indicator,.cell-marks .goal-indicator,.cell-marks .decision-indicator{font-size:.6875rem;line-height:1;opacity:.85}.cell-marks .habit-indicator{width:6px;height:6px;border-radius:50%;flex:none}.cell-marks .habit-indicator.habit-partial{background:linear-gradient(90deg,var(--accent-color) 50%,transparent 50%);border:1px solid var(--accent-color)}.cell-marks .habit-indicator.habit-full{background-color:var(--accent-color)}.cell-marks .mark-more{font-size:.5625rem;line-height:1;font-weight:600;color:var(--text-tertiary);flex:none}.cell-marks .nature-indicator{font-size:.6875rem;line-height:1;opacity:.85}.cell-marks .opportunity-indicator{font-size:.625rem;line-height:1;border:1px solid var(--accent-color);border-radius:50%;color:var(--accent-color);padding:.125rem .1875rem;opacity:.9;flex:none}@media (max-width: 768px){.calendar-day,.week-number{min-height:50px}.date-display.primary{font-size:.875rem}.date-display.secondary{font-size:.625rem}}@media (max-width: 480px){.calendar-day,.week-number{min-height:40px}.date-display.primary{font-size:.75rem}.date-display.secondary{font-size:.5rem}.calendar-weekday{padding:.5rem .25rem;font-size:.75rem}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;overscroll-behavior:none;touch-action:manipulation}body{margin:0;min-width:320px}#root{width:100%;height:100%;margin:0;padding:0}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--text-primary: #1a1a1a;--text-secondary: #666666;--text-tertiary: #8e8e93;--border-color: #e0e0e0;--accent-color: #3b82f6;--accent-hover: #2563eb}[data-theme=dark]{--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--text-primary: #ffffff;--text-secondary: #a0a0a0;--text-tertiary: #6e6e73;--border-color: #404040;--accent-color: #60a5fa;--accent-hover: #3b82f6}body{background-color:var(--bg-primary);color:var(--text-primary)}
