:root{--bg-primary:#fff;--bg-secondary:#f8f9fa;--text-primary:#1a1a1a;--text-secondary:#4a5568;--text-muted:#718096;--border-color:#e2e8f0;--card-bg:#fff;--card-shadow:0 1px 3px rgba(0,0,0,.1);--accent-color:#4299e1;--accent-hover:#3182ce;--sol-color:#f6ad55;--sol-bg:#fef5e7;--today-color:#e53e3e;--today-bg:#fee2e2;--success-color:#48bb78;--error-color:#e53e3e;--radius:6px;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem}*{box-sizing:border-box;margin:0;padding:0}body,html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:16px;line-height:1.5;color:var(--text-primary);background-color:var(--bg-secondary);min-height:100vh}.container{max-width:1000px;margin:0 auto;padding:var(--spacing-lg)}.header{text-align:center;padding:var(--spacing-xl) 0;border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-xl)}.header h1{font-size:3rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.header .subtitle{font-size:1.25rem;color:var(--text-secondary)}.hero{text-align:center}.today-eyebrow{font-size:.875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--spacing-xs)}.today-ifc{font-size:2.75rem;font-weight:700;color:var(--accent-color);line-height:1.1}.today-benefit,.today-ifc{margin-bottom:var(--spacing-sm)}.today-benefit{font-size:1.25rem;color:var(--text-primary)}.today-anchor{font-size:.9375rem}.hero-idea,.today-anchor{color:var(--text-secondary)}.hero-idea{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.result-note{margin-top:var(--spacing-xs);color:var(--text-secondary);font-size:.9375rem}.points{list-style:none;display:grid;grid-gap:var(--spacing-sm);gap:var(--spacing-sm)}.points.cols{grid-template-columns:1fr}@media (min-width:768px){.points.cols{grid-template-columns:1fr 1fr;gap:var(--spacing-md)}}.points li{position:relative;padding-left:1.6rem;color:var(--text-secondary);line-height:1.5}.points li:before{content:"✓";position:absolute;left:0;top:0;color:var(--accent-color);font-weight:700}.points li strong{color:var(--text-primary)}.reassurance{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-color);font-size:.9375rem;color:var(--text-secondary)}.calendar-hero{position:relative;overflow:hidden;border-radius:24px;padding:var(--spacing-xl) var(--spacing-lg);margin-bottom:var(--spacing-xl);display:flex;flex-direction:column;align-items:center;text-align:center;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4);box-shadow:var(--card-shadow);background:var(--hero-photo,linear-gradient(155deg,#243b2e 0,#4f6f57 45%,#aebfa6 100%));background-size:cover;background-position:50%}.calendar-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,25,18,.3),rgba(15,25,18,.5));pointer-events:none}.calendar-hero>*{position:relative;z-index:1}.calendar-widget{width:100%;max-width:460px;padding:var(--spacing-lg);border-radius:24px;background:hsla(0,0%,100%,.14);border:1px solid hsla(0,0%,100%,.28);backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%);box-shadow:0 8px 32px rgba(0,0,0,.22)}.cw-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.seg-toggle{display:inline-flex;gap:2px;padding:4px;border-radius:999px;background:hsla(0,0%,100%,.18)}.seg-toggle .seg{border:none;background:transparent;color:hsla(0,0%,100%,.8);font-size:.9375rem;font-weight:600;padding:6px 18px;border-radius:999px;cursor:pointer;text-shadow:none}.seg-toggle .seg.active{background:#fff;color:#1a1a1a;box-shadow:0 1px 4px rgba(0,0,0,.2)}.cw-gear{width:36px;height:36px;border-radius:50%;border:1px solid hsla(0,0%,100%,.3);background:hsla(0,0%,100%,.15);color:#fff;font-size:1rem;cursor:not-allowed}.cw-title{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--spacing-md)}.cw-month{font-weight:700}.cw-big,.cw-month{font-size:2.5rem;line-height:1}.cw-big{font-weight:300}.cw-row{display:grid;grid-template-columns:repeat(7,1fr)}.cw-heads{margin-bottom:var(--spacing-xs)}.cw-head{font-size:.8125rem;font-weight:600;color:hsla(0,0%,100%,.7);text-align:center}.cw-dates{align-items:center}.cw-date{flex-direction:column;gap:4px;padding:6px 0;font-size:1.0625rem}.cw-date,.cw-num{display:flex;align-items:center}.cw-num{justify-content:center;width:34px;height:34px;border-radius:10px}.cw-date.today .cw-num{background:#fff;color:#1a1a1a;font-weight:700;text-shadow:none;box-shadow:0 2px 6px rgba(0,0,0,.25)}.cw-evtdot{width:4px;height:4px;border-radius:50%;background:hsla(0,0%,100%,.5)}.cw-month-grid .cw-date{padding:3px 0}.cw-month-grid .cw-num{width:30px;height:30px;font-size:.9375rem;border-radius:8px}.cw-actions{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.cw-action{flex:1 1;padding:10px;border-radius:12px;border:1px solid hsla(0,0%,100%,.25);background:hsla(0,0%,100%,.12);color:hsla(0,0%,100%,.85);font-size:.875rem;font-weight:600;cursor:not-allowed;text-shadow:none}.cw-action.primary{background:hsla(0,0%,100%,.9);color:#1a1a1a;border-color:transparent}.cw-pro{font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--sol-color);padding:3px 9px;border-radius:999px;text-shadow:none}.cw-caption{margin-top:var(--spacing-lg);max-width:460px;font-size:1.0625rem}.cw-anchor{margin-top:var(--spacing-xs);font-size:.9375rem;color:hsla(0,0%,100%,.85)}.cw-fullcal{margin-top:var(--spacing-sm);color:#fff;text-decoration:underline;font-size:.9375rem}.page-nav{margin-top:var(--spacing-md)}.page-nav a{color:var(--accent-color);text-decoration:none;font-size:.9375rem}.page-nav a:hover{text-decoration:underline}.display-toggle{margin-bottom:var(--spacing-md);font-size:.875rem;color:var(--text-secondary)}.display-toggle label{display:inline-flex;align-items:center;gap:var(--spacing-xs);cursor:pointer}.main{display:flex;flex-direction:column;gap:var(--spacing-lg)}.card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--card-shadow);padding:var(--spacing-lg)}.card h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.converter{gap:var(--spacing-md)}.converter,.input-group{display:flex;flex-direction:column}.input-group{gap:var(--spacing-xs)}.input-group label{font-weight:500;color:var(--text-secondary);font-size:.875rem}.input-group input[type=date]{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius);font-size:1rem;background:var(--bg-secondary);transition:border-color .2s}.input-group input[type=date]:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(66,153,225,.1)}.error{color:var(--error-color);font-size:.875rem;margin-top:-.5rem}.result{background:var(--bg-secondary);padding:var(--spacing-md);border-radius:var(--radius);margin-top:var(--spacing-sm)}.result h3{font-size:1.125rem}.ifc-date,.result h3{margin-bottom:var(--spacing-sm)}.ifc-date{font-size:1.25rem;font-weight:600;color:var(--accent-color)}.ifc-details{display:flex;flex-wrap:wrap;gap:var(--spacing-md);font-size:.875rem;color:var(--text-secondary)}.ifc-details span{display:inline-block}.roundtrip{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}.roundtrip h4{font-size:1rem;margin-bottom:var(--spacing-xs)}.calendar-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.nav-button{padding:var(--spacing-xs) var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);font-size:.875rem;cursor:pointer;transition:all .2s}.nav-button:hover{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.calendar-grid{width:100%;overflow-x:auto}.calendar-row{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:var(--spacing-xs);gap:var(--spacing-xs)}.calendar-cell{aspect-ratio:1;min-width:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xs);border:1px solid var(--border-color);border-radius:var(--radius);background:var(--card-bg);text-align:center;font-size:.75rem}.header-row{margin-bottom:var(--spacing-sm)}.header-cell{font-weight:600;font-size:.875rem;color:var(--text-secondary);background:transparent!important;border:none!important}.empty-cell{background:transparent;border:none}.day-number{font-weight:600;font-size:1rem;color:var(--text-primary);margin-bottom:.125rem}.gregorian-date{font-size:.625rem;color:var(--text-muted);line-height:1.2}.calendar-cell.today{background:var(--today-bg)!important;border-color:var(--today-color)!important}.sol-month{background:var(--sol-bg)!important;border-color:var(--sol-color)!important}.intercalary-strip{margin-top:var(--spacing-md)}.intercalary-day{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:1px dashed var(--sol-color);border-radius:var(--radius);background:var(--sol-bg);text-align:left}.intercalary-label{font-weight:700;font-size:1rem;color:var(--text-primary)}.intercalary-gregorian{font-size:.875rem;color:var(--text-secondary)}.intercalary-note{font-size:.75rem;color:var(--text-muted);font-style:italic;margin-left:auto}.intercalary-day.today{border-style:solid;border-color:var(--today-color)!important;background:var(--today-bg)!important}.calendar-legend{display:flex;justify-content:center;gap:var(--spacing-lg);margin-top:var(--spacing-lg);font-size:.875rem}.legend-item{display:flex;align-items:center;gap:var(--spacing-xs)}.legend-color{display:inline-block;width:12px;height:12px;border-radius:3px}.legend-color.today{background:var(--today-color)}.legend-color.sol-month{background:var(--sol-color)}.info{background:linear-gradient(135deg,var(--sol-bg) 0,var(--bg-secondary) 100%)}.info p{margin-bottom:var(--spacing-sm);color:var(--text-secondary)}.info strong{color:var(--text-primary)}.footer{text-align:center;padding:var(--spacing-xl) 0;margin-top:var(--spacing-xl);border-top:1px solid var(--border-color);color:var(--text-muted);font-size:.875rem}.footer a{color:var(--accent-color);text-decoration:none}.footer a:hover{text-decoration:underline}@media (max-width:768px){.container{padding:var(--spacing-md)}.header h1{font-size:2rem}.calendar-header{flex-direction:column;align-items:stretch}.nav-button{width:100%}.calendar-row{gap:var(--spacing-xs)}.calendar-cell{min-width:40px}}.text-center{text-align:center}.mt-md{margin-top:var(--spacing-md)}.mb-md{margin-bottom:var(--spacing-md)}