@import "https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;700&display=swap";:root{--ink:#1e2a24;--muted:#66736c;--paper:#f3eee4;--paper-2:#fffaf2;--line:#e4d8c6;--accent:#2f6a4a;--accent-soft:#e8f1ea;--shadow:0 18px 40px #30261614;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Vazirmatn,Tahoma,sans-serif;font-weight:400;line-height:1.7}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}button,input,select{font-family:inherit}.page{width:min(1120px,100% - 32px);margin:0 auto;padding:28px 0 48px}.hero{gap:20px;margin-bottom:24px;display:grid}.eyebrow{color:var(--accent);margin:0 0 8px;font-size:.92rem;font-weight:600}h1{letter-spacing:-.03em;color:var(--ink);margin:0;font-size:clamp(1.8rem,3vw,2.4rem)}.lede{max-width:38rem;color:var(--muted);margin:8px 0 0}.toolbar{gap:12px;display:grid}.segmented{border:1px solid var(--line);background:var(--paper-2);border-radius:999px;width:fit-content;padding:4px;display:inline-flex}.segmented button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:999px;padding:8px 16px}.segmented button.is-active{background:var(--ink);color:var(--paper)}.search{position:relative}.search input{box-sizing:border-box;border:1px solid var(--line);background:var(--paper-2);width:100%;color:var(--ink);font:inherit;border-radius:14px;padding:12px 14px}.search input:focus{outline:2px solid var(--accent);outline-offset:2px}.search-panel{inset-inline:0;z-index:5;background:var(--paper-2);border:1px solid var(--line);max-height:320px;box-shadow:var(--shadow);border-radius:16px;position:absolute;top:calc(100% + 6px);overflow:auto}.search-item,.search-empty{text-align:right;width:100%;font:inherit;color:inherit;background:0 0;border:0;gap:4px;padding:12px 14px;display:grid}.search-item{cursor:pointer;border-bottom:1px solid var(--line)}.search-item:last-child{border-bottom:0}.search-item:hover,.search-item:focus-visible{background:var(--accent-soft)}.search-item span,.search-empty{color:var(--muted);font-size:.88rem}.status-card{background:var(--paper-2);border:1px solid var(--line);color:var(--muted);border-radius:16px;margin-bottom:18px;padding:14px 16px}.status-card.is-error{color:#8a2b2b;background:#f8ece8;border-color:#e4c4b8}.layout{grid-template-columns:1fr minmax(280px,340px);align-items:start;gap:18px;display:grid}.calendar-card,.detail-card{background:var(--paper-2);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px}.calendar-card{padding:16px}.month-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.month-meta{text-align:center;flex:1}.month-meta h2{color:var(--ink);margin:0;font-size:1.15rem}.month-meta p,.detail-sub,.detail-kicker{color:var(--muted);margin:4px 0 0;font-size:.88rem}.nav-btn,.today-btn{border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;font:inherit;border-radius:12px}.nav-btn{min-height:44px;padding:8px 12px;font-size:.92rem}.today-btn{padding:10px 14px}.nav-btn:disabled{opacity:.35;cursor:not-allowed}.weekday-row,.day-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.weekday-row{color:var(--muted);margin-bottom:6px;font-size:.82rem}.weekday-row span{text-align:center}.day-cell{min-height:64px;color:var(--ink);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:16px;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:8px;display:flex;position:relative}.day-cell.out-month{color:#b9b1a6}.day-cell.has-events{background:var(--accent-soft)}.day-cell.heat-5,.day-cell.heat-6,.day-cell.heat-7,.day-cell.heat-8{background:#e7efe8}.day-cell.in-plan:not(.is-selected){box-shadow:inset 0 0 0 1px #c8b89a}.day-cell.is-today{box-shadow:inset 0 0 0 1px var(--accent)}.day-cell.is-selected{background:var(--ink);color:var(--paper)}.day-cell.is-selected .day-count{background:var(--accent);color:#fff}.day-num{font-weight:700}.day-count{background:var(--ink);min-width:1.4em;color:var(--paper);text-align:center;border-radius:999px;align-self:flex-end;padding:1px 6px;font-size:.75rem}.detail-card{min-height:420px;padding:22px}.detail-kicker{margin:0}.detail-card h2{color:var(--ink);margin:6px 0 0;font-size:1.35rem}.occasion-list{gap:8px;margin:18px 0 0;padding:0;list-style:none;display:grid}.occasion-list li{background:var(--paper);border-radius:14px;grid-template-columns:28px 1fr;align-items:start;gap:10px;padding:12px;display:grid}.index{color:var(--accent);font-weight:700}.empty{color:var(--muted);margin-top:24px}.ideas{margin-top:28px}.ideas-head{margin-bottom:18px}.ideas-head h2{margin:0;font-size:1.45rem}.profile-form{background:var(--paper-2);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;grid-template-columns:1fr 1fr;gap:14px;padding:20px;display:grid}.profile-form label{color:var(--muted);gap:6px;font-size:.88rem;display:grid}.profile-form input,.profile-form select{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);font:inherit;border-radius:12px;padding:10px 12px}.profile-form input:focus,.profile-form select:focus{outline:2px solid var(--accent);outline-offset:2px}.goal-field{border:0;grid-column:1/-1;margin:0;padding:0}.goal-field legend{color:var(--muted);margin-bottom:8px;font-size:.88rem}.segmented.wrap{flex-wrap:wrap;width:100%;display:flex}.range-meta{color:var(--muted);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;display:flex}.idea-grid{gap:14px;margin-top:18px;display:grid}.idea-card,.empty-card{background:var(--paper-2);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:20px}.idea-card h3{margin:6px 0 0;font-size:1.15rem}.idea-card dl{gap:12px;margin:16px 0;display:grid}.idea-card dt{color:var(--accent);font-size:.82rem;font-weight:700}.idea-card dd{margin:4px 0 0}.empty-card{margin-top:18px}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=860px){.layout,.profile-form{grid-template-columns:1fr}.detail-card{min-height:0}.day-cell{min-height:54px;padding:6px}}
