:root{--ink:#253c30;--green:#284f3c;--muted:#82877c;--paper:#f8f8f2;--line:#e5e7dd;--poya:#a77727;--poya-bg:#fbf2d9;--public:#3f6d52;--public-bg:#e7efe3;--font:Inter,'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:14px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-underline-offset:3px}button{border:0}button:disabled{opacity:.38;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ba892f;outline-offset:4px}button:focus:not(:focus-visible){outline:none}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}button{transition:background .15s,transform .15s}button:hover:not(:disabled){filter:brightness(.97)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.skip-link{position:absolute;top:-80px;left:20px;z-index:20;background:white;padding:15px}.skip-link:focus{top:10px}
.site-header{max-width:1440px;margin:auto;padding:25px 5.2%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:28px;font-weight:750;letter-spacing:-1.4px}.brand-icon{color:var(--green);font-size:43px;line-height:1;font-weight:400}.brand-light{font-weight:420}.brand-dot{color:#b7953f}.site-header nav{display:flex;gap:30px;align-items:center}.nav-link{background:none;padding:10px 0;font-size:13px;color:#767e72;position:relative}.nav-link.active{color:var(--ink);font-weight:650}.nav-link.active:after{content:'';position:absolute;height:3px;width:17px;left:calc(50% - 8px);bottom:-25px;background:var(--green);border-radius:4px}.location{display:flex;align-items:center;gap:8px;font-size:12px}.location-dot{width:7px;height:7px;border-radius:50%;background:#64805a}.location-zone{border-left:1px solid #daddd0;margin-left:4px;padding-left:12px;color:var(--muted);font-size:10px;letter-spacing:.4px}main{max-width:1440px;margin:auto;padding:0 5.2%}.hero{display:grid;grid-template-columns:1fr 43%;align-items:center;gap:60px;padding:49px 0 43px}.eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:650;display:flex;align-items:center;gap:8px}.tiny-sun{font-size:19px;color:#9f853f}.hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(48px,4.7vw,69px);line-height:1.02;letter-spacing:-2.5px;margin:18px 0 17px;position:relative;width:fit-content}.hero h1 em{font-weight:400;color:#71806a}.heading-spark{position:absolute;width:53px;height:53px;color:#b5ba94;right:-80px;bottom:8px;stroke-width:2}.hero p{font-size:13px;line-height:1.8;margin:0;color:#7b8274}.next-card{position:relative;overflow:hidden;text-align:left;background:var(--green);color:#f7f6e9;border-radius:16px;padding:26px 29px;min-height:240px;box-shadow:0 7px 18px #213d2910;isolation:isolate}.next-top{display:flex;justify-content:space-between;font-size:9px;font-weight:550;letter-spacing:1.6px;color:#c7d0bc}.next-top>span:first-child{display:flex;align-items:center;gap:8px}.next-top>span:last-child{font-size:24px;line-height:14px;font-weight:300}.next-dot{width:5px;height:5px;border-radius:50%;background:#e5c675}.next-date{display:flex;align-items:center;gap:14px;margin-top:18px}.next-day{font-family:Georgia,serif;font-size:65px;line-height:1;letter-spacing:-3px;color:#f1d58b}.next-month{font-size:11px;letter-spacing:1.3px;line-height:1.8;color:#d4ddca}.next-name{font-size:19px;font-weight:450;letter-spacing:-.4px;margin:12px 0 16px;max-width:90%}.next-pill{display:inline-flex;gap:7px;align-items:center;background:#42634e;padding:6px 11px;border-radius:30px;color:#e4ead9;font-size:9px;letter-spacing:1px}.next-art{position:absolute;width:200px;height:200px;bottom:-15px;right:-10px;color:#8ba07a;opacity:.3;stroke-width:.7;z-index:-1}.next-art circle{fill:#75906c33}.loading-copy{display:block;margin-top:45px;color:#d3dcc9}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:32px;align-items:start}.main-column{min-width:0}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:23px;min-height:37px}.month-navigation{display:flex;align-items:center;gap:15px}.month-navigation h2{font-size:23px;font-weight:550;letter-spacing:-.8px;margin:0;min-width:180px}.arrows{display:flex;gap:4px}.icon-button{width:29px;height:29px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;background:transparent;color:#677663;font-size:25px;line-height:1}.icon-button:hover{background:#edf0e5}.today-button{background:transparent;border:1px solid #d9ddcf;padding:6px 11px;border-radius:6px;font-size:10px}.view-options{display:flex;gap:12px;align-items:center}.view-options select{border:1px solid #e0e3d7;background:transparent;color:#5e6a59;border-radius:7px;padding:7px 24px 7px 10px;font-size:11px;cursor:pointer}.view-toggle{display:flex;gap:3px;padding:3px;border:1px solid #e0e3d7;border-radius:8px}.view-toggle button{padding:4px 6px;border-radius:4px;display:flex;background:transparent;color:#8d9686}.view-toggle button.selected{background:#e5eadb;color:var(--green)}.view-toggle svg{width:15px;height:15px}.filter-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px;gap:10px}.filters{display:flex;gap:5px;flex-wrap:wrap}.filter{display:flex;align-items:center;gap:6px;background:transparent;border-radius:30px;padding:7px 11px;font-size:10px;color:#7a8274;white-space:nowrap}.filter.active{background:#e8eddf;color:#3a5339;font-weight:600}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0}.poya-dot{background:#b79a4b}.public-dot{background:#76916a}.today-dot{background:#284f3c}.month-count{font-size:10px;color:#8b9282;white-space:nowrap}.calendar-shell{background:#fffefa;border:1px solid var(--line);border-radius:12px;overflow:hidden}.weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#f0f2e9;border-bottom:1px solid var(--line)}.weekdays>span{text-align:center;text-transform:uppercase;letter-spacing:1.1px;padding:13px 0;font-size:9px;color:#808976;font-weight:600}.weekdays>span:nth-last-child(-n+2){color:#a3a794}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.day-cell{min-height:104px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 8px;position:relative;min-width:0}.day-cell:nth-child(7n){border-right:0}.day-cell:last-child:nth-child(7n){border-bottom:0}.day-cell.weekend{background:#f8f9f3}.day-cell.outside{color:#bcc2b1;background:#fafbf6}.day-cell.today{background:#f1f5eb}.day-number{width:24px;height:24px;display:flex;justify-content:center;align-items:center;font-size:11px;margin-bottom:5px;border-radius:50%}.today .day-number{background:var(--green);color:#fff}.today-word{position:absolute;top:17px;right:8px;font-size:6px;letter-spacing:.6px;color:#6f8060}.holiday-chip{display:block;width:100%;text-align:left;padding:6px 6px 6px 7px;margin-top:4px;border-radius:4px;font-size:9px;line-height:1.5;background:var(--public-bg);color:var(--public);border-left:2px solid #89a071;overflow-wrap:anywhere}.holiday-chip.poya{background:var(--poya-bg);color:#927025;border-left-color:#ceb068}.holiday-chip:hover{box-shadow:0 1px 5px #2b41251c}.outside .holiday-chip{opacity:.5}.calendar-bottom{display:flex;justify-content:space-between;align-items:center;padding:17px 0;gap:10px}.legend{display:flex;gap:17px;align-items:center}.legend>span{display:flex;align-items:center;gap:6px;font-size:9px;color:#8a927f}.calendar-tip{font-family:Georgia,serif;font-style:italic;font-size:11px;color:#909783}.slow-banner{display:flex;align-items:center;gap:15px;background:#eef0e4;border:1px solid #e3e7d6;border-radius:10px;padding:19px 22px;margin-top:8px}.banner-symbol{font-size:37px;color:#74835e}.slow-banner h3{font-family:Georgia,serif;font-size:19px;font-weight:400;letter-spacing:-.3px;margin:0 0 6px}.slow-banner p{font-size:10px;color:#87907b;margin:0}.banner-end{font-family:Georgia,serif;font-size:13px;font-style:italic;color:#7f896f;margin-left:auto;white-space:nowrap}.sidebar{border-left:1px solid var(--line);padding-left:27px}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin:3px 0 8px}.panel-heading h2{font-size:18px;font-weight:550;letter-spacing:-.4px;margin:0}.panel-heading>span{font-size:9px;color:#8d9481}.panel-subtitle{font-size:11px;color:#8b9280;margin:0 0 18px}.search{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:7px;background:#fdfdf8;padding:9px 10px;margin-bottom:9px}.search svg{width:13px;height:13px;color:#8d9682}.search input{width:100%;border:0;background:transparent;color:var(--ink);font-size:10px;min-width:0;outline:none}.search:focus-within{outline:2px solid #a4b491}.search input::placeholder{color:#969d8b}.upcoming-item{display:flex;align-items:center;gap:13px;width:100%;background:transparent;text-align:left;padding:15px 0;border-bottom:1px solid var(--line)}.date-tile{width:43px;min-width:43px;height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:#eef0e5;border-radius:7px}.date-tile b{font-size:21px;font-weight:450;letter-spacing:-1px}.date-tile small{font-size:8px;letter-spacing:.8px;color:#839074}.date-tile.poya{background:#f7efda;color:#9f8037}.date-tile.poya small{color:#a08b59}.upcoming-title{font-size:11px;line-height:1.55;display:block;font-weight:550}.upcoming-meta{display:block;font-size:9px;color:#989e8c;margin-top:4px}.upcoming-arrow{margin-left:auto;color:#8a967d;font-size:15px}.text-button{display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;padding:15px 0 19px;font-size:10px;font-weight:550;color:#566b4a}.text-button>span{font-size:15px}.year-summary{background:#edeedf;border-radius:10px;padding:20px 18px;margin-top:2px}.year-summary .eyebrow{font-size:8px;letter-spacing:1.3px;gap:5px;color:#7a8569}.year-summary .eyebrow>span:first-child{font-size:13px}.stats{display:flex;margin:16px 0 18px;gap:32px}.stats>div{display:flex;flex-direction:column;gap:5px}.stats strong{font-family:Georgia,serif;font-size:35px;font-weight:400;line-height:1;color:#506447}.stats span{font-size:9px;color:#899278}.weekend-link{width:100%;padding:13px 0 0;border-top:1px solid #dce0ca;background:transparent;text-align:left;font-size:10px;display:flex;justify-content:space-between;color:#5a704e}.year-summary>p{font-size:8px;color:#949c84;margin:9px 0 0}.export-button{display:flex;align-items:center;gap:10px;background:transparent;width:100%;margin-top:17px;padding:12px 1px;text-align:left;color:#5c6e51}.export-button>svg{width:18px}.export-button>span:nth-child(2){font-size:10px;font-weight:550}.export-button small{display:block;margin-top:5px;font-size:9px;color:#9a9f90;font-weight:400}.export-button>span:last-child{margin-left:auto;font-size:17px}.data-line{display:flex;justify-content:space-between;gap:15px;padding:29px 0 22px;font-size:9px;color:#989e8d}.data-line>span:first-child{display:flex;gap:6px;align-items:center}.data-line a{color:#687b58;text-decoration:none}.data-line.stale #sync-dot{background:#b78934}.data-line.stale #sync-status{color:#a37d2c}footer{max-width:1440px;margin:auto;padding:21px 5.2% 27px;display:flex;align-items:center;gap:19px;border-top:1px solid var(--line);color:#999f8f;font-size:10px}.footer-brand{font-size:16px;font-weight:600;color:#6d7b61;letter-spacing:-.7px;text-decoration:none}.footer-note{margin-left:auto;font-size:9px}.notice{border:1px solid #e5d8b4;padding:12px 14px;border-radius:7px;background:#faf3df;color:#8c7237;font-size:11px;line-height:1.6;margin:0 0 15px}.loading-state,.empty-state{text-align:center;padding:50px 20px;background:#fffdf7;border:1px solid var(--line);border-radius:10px;color:#8a937d;font-size:12px;line-height:1.8}.empty-state{padding:25px 12px}.holiday-list{border:1px solid var(--line);border-radius:10px;background:#fffefa;padding:0 20px;max-height:600px;overflow:auto}.holiday-list .upcoming-item{padding:16px 0}.holiday-list .upcoming-item:last-child{border:0}.holiday-list .upcoming-title{font-size:13px}.list-type{margin-left:auto;font-size:9px;border-radius:20px;background:var(--public-bg);color:var(--public);padding:5px 10px}.list-type.poya{background:var(--poya-bg);color:var(--poya)}.year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mini-month{background:#fffefa;border:1px solid var(--line);border-radius:10px;padding:13px 11px;text-align:left}.mini-month:hover{border-color:#9eae8c}.mini-month h3{font-size:12px;font-weight:600;margin:0 0 13px}.mini-week,.mini-dates{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}.mini-week span{font-size:7px;color:#929c84;padding-bottom:6px}.mini-dates span{display:flex;align-items:center;justify-content:center;aspect-ratio:1.25;font-size:8px;border-radius:50%}.mini-dates .is-poya{background:var(--poya-bg);color:var(--poya)}.mini-dates .is-public{background:var(--public-bg);color:var(--public)}.mini-dates .is-today{background:var(--green);color:white}.mini-dates .is-outside{color:transparent}dialog{position:fixed;border:1px solid #dfe4d4;border-radius:17px;padding:36px;width:480px;max-width:calc(100% - 30px);max-height:85vh;overflow:auto;background:var(--paper);color:var(--ink);box-shadow:0 25px 100px #183a2c30}dialog::backdrop{background:#16382555;backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:12px;top:12px;font-size:26px}.dialog-symbol{font-size:35px;color:#9d8c48;display:block;margin-bottom:18px}.dialog-heading{font-family:Georgia,serif;font-size:30px;line-height:1.2;letter-spacing:-.7px;font-weight:400;margin:0 0 14px}.dialog-body{font-size:12px;color:#7b8770;line-height:1.9}.dialog-date{font-size:12px;margin:0 0 18px;color:#788567}.dialog-tag{display:inline-block;font-size:10px;padding:6px 12px;background:var(--public-bg);color:var(--public);border-radius:20px;margin-bottom:15px}.dialog-tag.poya{background:var(--poya-bg);color:var(--poya)}.dialog-action{display:inline-flex;align-items:center;gap:9px;margin-top:14px;background:var(--green);color:white;padding:12px 17px;border-radius:8px;text-decoration:none;font-size:11px}.dialog-source{display:block;margin-top:17px;font-size:10px;color:#7b896b}.weekend-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.7}.weekend-row strong{font-family:Georgia,serif;font-size:22px;font-weight:400}.weekend-row small{display:block;color:#8a947e;font-size:10px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--green);color:white;border-radius:8px;padding:13px 22px;box-shadow:0 7px 30px #1b38252a;font-size:12px;z-index:20;text-align:center;max-width:90%}
@media(min-width:1600px){.hero h1{font-size:69px}.day-cell{min-height:114px}}
@media(max-width:1150px){.site-header,main,footer{padding-left:4%;padding-right:4%}.workspace{grid-template-columns:minmax(0,1fr) 245px;gap:23px}.sidebar{padding-left:20px}.month-navigation h2{font-size:21px;min-width:160px}.month-navigation{gap:7px}.view-options{gap:6px}.month-navigation .arrows{gap:0}.hero{gap:35px}.hero h1{font-size:60px}.calendar-tip{display:none}.day-cell{padding:9px 5px;min-height:100px}.holiday-chip{font-size:8px;padding:5px}.today-word{display:none}.banner-end{display:none}.month-count{display:none}.stats{gap:28px}.location-zone{display:none}}
@media(max-width:900px){.workspace{grid-template-columns:minmax(0,1fr);gap:25px}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:25px;border:0;padding:0}.upcoming-panel{grid-row:span 2}.export-button{margin:0;align-self:start}.hero{grid-template-columns:1fr 42%;gap:30px;padding-top:38px}.hero h1{font-size:53px}.heading-spark{width:40px;height:40px;right:-55px}.next-card{padding:22px;min-height:225px}.next-name{font-size:16px}.site-header nav{gap:22px}.location{display:none}.day-cell{min-height:110px;padding:10px 8px}.holiday-chip{font-size:10px}.month-navigation h2{min-width:175px;font-size:24px}.month-count{display:inline}.filter{font-size:11px}.hero p{font-size:12px}.calendar-tip{display:inline}.year-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.site-header{padding:18px 5%;gap:10px;flex-wrap:wrap}.brand{font-size:25px;gap:7px}.brand-icon{font-size:34px}.site-header nav{gap:17px}.nav-link{font-size:10px;padding:8px 0}.nav-link.active:after{bottom:-18px}.site-header #about{display:none}main{padding:0 5%}.hero{grid-template-columns:1fr;gap:26px;padding:32px 0}.hero h1{font-size:56px;margin-top:16px}.hero-copy>p{font-size:12px}.hero .eyebrow{font-size:9px}.heading-spark{width:47px;height:47px;right:-65px}.next-card{min-height:198px;padding:22px 24px}.next-date{margin-top:12px}.next-day{font-size:51px}.next-name{margin:8px 0 12px;font-size:17px}.next-top{font-size:8px}.next-art{width:170px;height:170px}.calendar-toolbar{gap:8px;flex-wrap:wrap;margin-bottom:17px}.month-navigation{gap:10px;flex:1}.month-navigation h2{font-size:22px;min-width:0;flex:1}.view-options{width:100%;justify-content:space-between}.view-options select{padding:6px 23px 6px 9px}.view-toggle{padding:2px}.view-toggle button{padding:4px 8px}.filter-toolbar{margin-bottom:14px}.filters{gap:0}.filter{font-size:9px;padding:7px 8px}.month-count{display:none}.day-cell{min-height:91px;padding:5px 2px}.day-number{font-size:10px;width:22px;height:22px;margin-left:3px}.holiday-chip{font-size:7px;line-height:1.4;padding:4px 3px;border-left-width:2px;border-radius:3px;letter-spacing:-.1px;hyphens:auto}.weekdays>span{font-size:8px;letter-spacing:.7px;padding:12px 0}.calendar-shell{border-radius:9px}.calendar-bottom{padding:16px 0}.legend{gap:14px}.legend>span{font-size:8px}.calendar-tip{display:none}.slow-banner{padding:15px;gap:12px}.slow-banner h3{font-size:17px}.slow-banner p{font-size:9px;line-height:1.6}.banner-symbol{font-size:29px}.sidebar{grid-template-columns:1fr;gap:18px}.upcoming-panel{grid-row:auto}.upcoming-item{padding:13px 0}.upcoming-title{font-size:12px}.upcoming-meta{font-size:10px}.search input{font-size:12px}.search{padding:12px}.panel-heading h2{font-size:20px}.panel-heading>span,.panel-subtitle{font-size:11px}.year-summary{padding:22px}.year-summary .eyebrow{font-size:9px}.stats{gap:50px}.stats strong{font-size:40px}.stats span{font-size:11px}.weekend-link{font-size:11px}.year-summary>p{font-size:9px}.export-button{padding:10px 3px 5px}.export-button>span:nth-child(2){font-size:12px}.export-button small{font-size:10px}.data-line{flex-direction:column;gap:12px;padding-top:23px;font-size:9px}footer{padding:19px 5%;flex-wrap:wrap;gap:12px;font-size:9px}.footer-note{width:100%;margin:0}.year-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.mini-month{padding:13px 9px}.mini-month h3{font-size:12px}.mini-dates span{font-size:8px}.holiday-list{padding:0 13px}.list-type{font-size:8px;padding:4px 7px}.holiday-list .upcoming-title{font-size:11px}.list-type{display:none}dialog{padding:30px 24px}.dialog-heading{font-size:27px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:white}.site-header nav,.location,.next-card,.sidebar,.filter-toolbar,.view-options,.arrows,.today-button,.slow-banner,.export-button,footer,.data-line,.calendar-tip{display:none!important}.site-header{padding:15px 0}.hero{padding:20px 0;display:block}.hero h1{font-size:35px}.hero-copy>p,.heading-spark{display:none}.hero .eyebrow{font-size:8px}.workspace{display:block}main{padding:0}.day-cell{min-height:90px;print-color-adjust:exact}.holiday-chip,.today .day-number{print-color-adjust:exact}dialog{display:none}}
