@import"https://fonts.googleapis.com/css2?family=Fraunces:wght@600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{color-scheme:light;font-family:Space Grotesk,system-ui,-apple-system,sans-serif;--display-font: "Fraunces", "Space Grotesk", serif;--bg: #f7f1e9;--bg-strong: #f0e2d1;--card: #ffffff;--ink: #1f1b16;--muted: #5f5750;--accent: #e07a3f;--accent-2: #2e8f7b;--accent-3: #d9b570;--border: #ead8c9;--shadow: 0 24px 60px rgba(41, 31, 19, .12);--radius: 18px}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,#fef7ee 0%,var(--bg) 45%,#f4ece2 100%);color:var(--ink)}body:before,body:after{content:"";position:fixed;width:320px;height:320px;border-radius:999px;filter:blur(0);opacity:.35;z-index:-1}body:before{top:-120px;right:-120px;background:radial-gradient(circle,#f6cda8,#f6cda800 70%)}body:after{bottom:-140px;left:-140px;background:radial-gradient(circle,#a7d7cc,#a7d7cc00 70%)}#root{padding:32px}.app{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:32px}.hero{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;background:linear-gradient(135deg,#fff8f0,#f6efe6);border:1px solid var(--border);border-radius:var(--radius);padding:28px 32px;box-shadow:var(--shadow);animation:float-in .6s ease-out both}.hero h1{font-family:var(--display-font);font-size:clamp(2.2rem,4vw,3.2rem);margin:8px 0}.subtitle{margin:0;color:var(--muted);max-width:520px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:var(--muted);margin:0}.hero-card{display:flex;flex-direction:column;gap:6px;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px 20px;min-width:200px}.hero-card strong{font-size:1.4rem;font-variant-numeric:tabular-nums}.hero-card span{color:var(--muted);font-size:.85rem}.content{display:grid;grid-template-columns:1.2fr .8fr;gap:28px}.calendar-panel{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);padding:24px;box-shadow:var(--shadow);animation:float-in .65s ease-out both}.calendar-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.calendar-header h2{font-family:var(--display-font);margin:4px 0 0}.calendar-selectors{display:flex;gap:12px;align-items:center}.calendar-select{font-family:inherit;font-size:1rem;font-weight:600;padding:10px 36px 10px 16px;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--ink);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%235f5750' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.calendar-select:hover{border-color:var(--accent);transform:translateY(-1px)}.calendar-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #e07a3f26}.calendar-actions{display:flex;gap:12px}button{font-family:inherit}.ghost{border:1px solid var(--border);background:transparent;padding:8px 14px;border-radius:999px;color:var(--ink);cursor:pointer;transition:transform .2s ease,border-color .2s ease}.ghost:hover{transform:translateY(-1px);border-color:var(--accent)}.weekday-row{display:grid;grid-template-columns:repeat(7,1fr);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-cell{border:1px solid transparent;background:#fdf9f4;border-radius:12px;padding:10px;min-height:var(--cell-height, 72px);height:var(--cell-height, auto);display:flex;align-items:flex-start;justify-content:flex-start;cursor:pointer;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;overflow:visible}.calendar-cell.out-month{opacity:.4}.calendar-cell.today{border-color:var(--accent-2)}.calendar-cell.selected{border-color:var(--accent);box-shadow:0 12px 24px #e07a3f33;transform:translateY(-1px)}.calendar-cell:disabled{cursor:default;opacity:.2}.day-number{font-weight:600}.detail-holiday{color:#c04a34;font-weight:600;margin:4px 0 0;font-size:.9rem}.holiday-text{font-size:.65rem;font-weight:600;white-space:normal;overflow:visible;text-overflow:unset;max-width:100%;word-break:break-word;color:#c04a34;display:block;line-height:1.2;text-align:left;align-self:flex-start}.day-content{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;overflow:visible;min-width:0}.today-label{font-size:.65rem;font-weight:600;color:var(--accent-2)}.lunar-day{font-size:.7rem;color:var(--muted);font-weight:400}.calendar-cell.special-day .day-number,.calendar-cell.special-day .lunar-day{color:#c04a34}.calendar-cell.special-day{background:linear-gradient(135deg,#fff5f3,#ffeae6);border-color:#c04a3433}.calendar-cell.special-day:hover{border-color:#c04a34}.detail-panel{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);padding:24px;box-shadow:var(--shadow);animation:float-in .7s ease-out both}.detail-panel h2{font-family:var(--display-font);margin:8px 0 0}.detail-kicker{margin:0;color:var(--muted);text-transform:uppercase;font-size:.7rem;letter-spacing:.18em}.detail-status{margin-top:16px;color:var(--muted)}.detail-status.error{color:#c04a34}.detail-content{display:flex;flex-direction:column;gap:16px;margin-top:18px}.detail-card{background:#fff7ee;border-radius:14px;padding:16px;border:1px solid #f2e1d2}.detail-label{margin:0 0 8px;color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.12em}.detail-title{margin:0 0 6px;font-family:var(--display-font);font-size:1.4rem}.detail-meta{margin:0;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-item{background:#fdfbf9;border-radius:12px;padding:12px;border:1px solid #f0e4d7}.detail-item p{margin:0 0 6px;color:var(--muted);font-size:.85rem}.pill-row{display:flex;flex-wrap:wrap;gap:8px}.pill{background:#fff;border:1px solid #f1d9c3;border-radius:999px;padding:6px 12px;font-size:.85rem}.pill.alt{border-color:#bcded4}@keyframes float-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:960px){.hero{flex-direction:column}.content{grid-template-columns:1fr}}@media(max-width:640px){#root{padding:16px}.hero{padding:20px}.hero-card{min-width:0;width:100%;padding:9px 11px;border-radius:10px;gap:3px}.hero-card strong{font-size:.95rem}.calendar-selectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}.calendar-select{width:100%;padding:8px 32px 8px 14px;font-size:.95rem}.calendar-actions{flex-direction:column;align-items:stretch}.calendar-header{flex-direction:column;align-items:flex-start}.weekday-row{font-size:.7rem;letter-spacing:.04em}.calendar-grid{gap:3px}.calendar-cell{padding:5px;border-radius:8px;min-height:var(--cell-height, 52px)}.day-number{font-size:.8rem}.today-label{display:none}.lunar-day{font-size:.55rem}.holiday-text{display:none}.detail-grid{grid-template-columns:1fr}}@media(max-width:420px){.hero{padding:18px}.hero h1{font-size:clamp(1.9rem,7vw,2.4rem)}.hero-card strong{font-size:1.1rem}.calendar-grid{gap:4px}.calendar-cell{padding:6px;border-radius:9px;min-height:var(--cell-height, 58px)}.day-number{font-size:.85rem}.lunar-day{font-size:.6rem}.holiday-text{font-size:.55rem}}
