:root{--moon-bg: #0f172a;--moon-panel: rgba(255, 255, 255, 0.96);--moon-border: rgba(15, 23, 42, 0.08);--moon-accent: #10b981;--moon-accent-strong: #047857;--moon-muted: rgba(15, 23, 42, 0.65);--moon-surface: #f5f7fb}*{box-sizing:border-box}body{font-family:"Be Vietnam Pro",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at top right, rgba(16, 185, 129, 0.15), transparent 55%),radial-gradient(circle at bottom left, rgba(45, 212, 191, 0.2), transparent 50%),#e0f2fe;margin:0;padding:24px;color:#0f172a}.lunar-page{max-width:920px;margin:0 auto 80px;display:flex;flex-direction:column;gap:28px}.current-day{display:grid;grid-template-columns:auto minmax(0, 1fr) minmax(0, 1fr) auto;gap:12px;align-items:stretch;background:rgba(15,23,42,.02);border-radius:32px;padding:20px;border:1px solid rgba(15,23,42,.08);box-shadow:0 20px 40px rgba(15,23,42,.08)}.day-nav{width:50px;height:100%;min-height:180px;border-radius:24px;border:1px solid rgba(15,23,42,.1);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,transform .2s ease}.day-nav:hover{background:rgba(16,185,129,.1);transform:translateY(-2px)}.day-nav span{font-size:1.6rem;color:var(--moon-accent-strong)}.current-card{background:#fff;border-radius:24px;padding:22px;border:1px solid rgba(15,23,42,.08);display:flex;flex-direction:column;gap:18px}.current-card header{display:flex;justify-content:space-between;align-items:center}.current-card header p{margin:0;color:var(--moon-muted)}.current-card header .weather-icon,.current-card header .moon-icon{font-size:1.6rem}.current-card .current-date{display:flex;align-items:baseline;gap:14px}.current-card .current-date strong{font-size:clamp(2.8rem,4vw,3.6rem);color:var(--moon-accent-strong);line-height:1}.current-card .current-date span{font-weight:600;color:var(--moon-muted)}.current-card .current-date small{color:rgba(15,23,42,.5)}.current-card .current-info{list-style:none;padding:0;margin:0;display:flex;gap:12px;flex-wrap:wrap}.current-card .current-info li{flex:1;min-width:80px;background:rgba(15,23,42,.04);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.current-card .current-info li span{font-size:.75rem;color:var(--moon-muted);text-transform:uppercase}.current-card .current-info li strong{color:#0f172a}.current-card--solar{background:linear-gradient(135deg, rgba(253, 230, 138, 0.4), rgba(248, 250, 252, 0.9))}.current-card--lunar{background:linear-gradient(135deg, rgba(191, 219, 254, 0.5), rgba(248, 250, 252, 0.95))}.hero{background:linear-gradient(120deg, rgba(15, 23, 42, 0.95), rgba(30, 64, 175, 0.85));border-radius:32px;padding:48px;color:#e2e8f0;box-shadow:0 25px 60px rgba(15,23,42,.4);position:relative;overflow:hidden}.hero::after{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle, rgba(45, 212, 191, 0.4), transparent 60%);top:-120px;right:-80px;filter:blur(0.5px)}.hero h1{margin:0 0 12px;font-size:clamp(2rem,3vw,3rem)}.hero .subtitle{margin:0 0 18px;color:rgba(226,232,240,.85);max-width:720px;font-size:1.05rem}.hero .hero-bullets{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:12px}.hero .hero-bullets li{background:rgba(15,23,42,.5);border:1px solid hsla(0,0%,100%,.12);padding:10px 16px;border-radius:999px;font-weight:600;font-size:.95rem}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:.75rem;color:rgba(226,232,240,.65);margin-bottom:12px}.panel{background:var(--moon-panel);border-radius:28px;padding:28px;border:1px solid var(--moon-border);box-shadow:0 30px 60px rgba(15,23,42,.12)}.panel-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.panel-heading h2{margin:0}.panel-heading p{margin:6px 0 0;color:var(--moon-muted)}.calendar-controls,.month-selectors{display:flex;gap:10px;flex-wrap:wrap}.calendar-controls .month-nav-buttons,.month-selectors .month-nav-buttons{display:inline-flex;gap:8px}.calendar-controls .month-nav-buttons button,.month-selectors .month-nav-buttons button{width:44px;height:44px;border-radius:14px;border:1px solid rgba(15,23,42,.1);background:#fff;font-size:1.1rem;cursor:pointer;transition:background .2s ease,transform .2s ease}.calendar-controls .month-nav-buttons button:hover,.month-selectors .month-nav-buttons button:hover{background:rgba(16,185,129,.12);transform:translateY(-1px)}.calendar-controls button,.calendar-controls select,.month-selectors button,.month-selectors select{border-radius:14px;border:1px solid rgba(15,23,42,.1);background:#fff;padding:10px 14px;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease}.calendar-controls button:hover,.calendar-controls select:hover,.month-selectors button:hover,.month-selectors select:hover{background:rgba(16,185,129,.1);transform:translateY(-1px)}.calendar-controls select,.month-selectors select{min-width:120px}.calendar-controls label,.month-selectors label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;font-weight:600;color:var(--moon-muted)}.calendar-controls .secondary,.month-selectors .secondary{background:rgba(15,23,42,.03)}.weekday-row{margin-top:20px;display:grid;grid-template-columns:repeat(7, 1fr);text-align:center;font-weight:600;color:var(--moon-muted)}.calendar-grid{margin-top:12px;display:grid;grid-template-columns:repeat(7, minmax(0, 1fr));gap:8px}.calendar-cell{border-radius:18px;border:1px solid rgba(15,23,42,.08);padding:14px 12px;min-height:88px;display:flex;flex-direction:column;gap:4px;background:var(--cell-bg, rgba(255, 255, 255, 0.9));position:relative;cursor:pointer;transition:border .2s ease,box-shadow .2s ease}.calendar-cell:hover{border-color:rgba(16,185,129,.6);box-shadow:0 10px 20px rgba(15,23,42,.08)}.calendar-cell.is-dim{opacity:.45}.calendar-cell.is-today{border-color:var(--moon-accent)}.calendar-cell.is-selected{background:linear-gradient(135deg, rgba(16, 185, 129, 0.25), rgba(59, 130, 246, 0.18));border-color:var(--moon-accent)}.calendar-cell.is-holiday::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--holiday-color, #f97316);position:absolute;top:10px;right:10px}.calendar-cell.is-holiday{border-color:var(--holiday-color, var(--moon-accent))}.calendar-cell.is-holiday .solar,.calendar-cell.is-holiday .lunar{color:#0f172a}.calendar-cell.is-holiday .holiday-label{color:var(--holiday-color, #f97316)}.calendar-cell .solar{font-size:1.2rem;font-weight:700}.calendar-cell .lunar{font-size:.85rem;color:var(--moon-muted)}.calendar-cell .holiday-label{margin-top:auto;font-size:.75rem;color:var(--holiday-color, #f97316);font-weight:600}.calendar-legend{margin-top:16px;display:flex;gap:18px;flex-wrap:wrap;font-size:.9rem;color:var(--moon-muted)}.calendar-legend .dot{width:12px;height:12px;border-radius:50%;display:inline-block;margin-right:6px;border:1px solid rgba(15,23,42,.2)}.calendar-legend .dot-today{background:var(--moon-accent)}.calendar-legend .dot-selected{background:linear-gradient(135deg, var(--moon-accent), #3b82f6)}.calendar-legend .dot-holiday{background:#f97316}.day-panel{display:flex;flex-direction:column;gap:20px}.day-card{background:var(--moon-surface);padding:20px;border-radius:22px;border:1px solid rgba(15,23,42,.06);display:flex;flex-direction:column;gap:16px}.day-card__controls{display:flex;justify-content:space-between;align-items:center;gap:12px}.day-card__controls label{font-weight:600}.day-card__controls .control-group{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.day-card__controls .control-group .date-picker-wrapper{position:relative;display:flex;align-items:center;gap:8px;border-radius:14px;border:1px solid rgba(15,23,42,.12);background:#fff;padding:0 12px;min-height:48px;box-shadow:inset 0 1px 3px rgba(15,23,42,.04);flex:1 1 260px}.day-card__controls .control-group input#selectedDate{border:0;background:rgba(0,0,0,0);font-family:inherit;font-weight:600;font-size:1rem;color:#0f172a;width:100%;outline:none;cursor:pointer}.day-card__controls .control-group input#selectedDate::placeholder{color:rgba(15,23,42,.35)}.day-card__controls .control-group .date-picker-toggle{border:0;background:rgba(15,23,42,.05);width:36px;height:36px;border-radius:12px;display:grid;place-items:center;cursor:pointer;transition:background .2s ease,transform .2s ease}.day-card__controls .control-group .date-picker-toggle:hover{background:rgba(16,185,129,.15);transform:translateY(-1px)}.day-card__controls .control-group .date-picker-toggle span{font-size:1.2rem}.day-card__controls .control-group .date-picker-popover{position:absolute;top:calc(100% + 10px);right:0;width:min(320px,90vw);background:#fff;border-radius:20px;border:1px solid rgba(15,23,42,.08);box-shadow:0 22px 50px rgba(15,23,42,.18);padding:16px;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease;z-index:10}.day-card__controls .control-group .date-picker-popover.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.day-card__controls .control-group .date-picker-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.day-card__controls .control-group .date-picker-header .date-picker-title{display:flex;flex-direction:column;text-align:center}.day-card__controls .control-group .date-picker-header .date-picker-title strong{font-size:1.1rem}.day-card__controls .control-group .date-picker-header .date-picker-title small{color:var(--moon-muted)}.day-card__controls .control-group .date-picker-nav{border:0;background:rgba(15,23,42,.05);width:36px;height:36px;border-radius:12px;cursor:pointer;font-size:1rem;transition:background .2s ease}.day-card__controls .control-group .date-picker-nav:hover{background:rgba(16,185,129,.2)}.day-card__controls .control-group .date-picker-weekdays{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--moon-muted);margin-bottom:8px}.day-card__controls .control-group .date-picker-grid{display:grid;grid-template-columns:repeat(7, 1fr);gap:6px}.day-card__controls .control-group .date-picker-cell{border:1px solid rgba(0,0,0,0);border-radius:10px;padding:8px 0;background:rgba(15,23,42,.05);font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease}.day-card__controls .control-group .date-picker-cell.is-dim{opacity:.4}.day-card__controls .control-group .date-picker-cell.is-today{border:1px solid rgba(16,185,129,.5)}.day-card__controls .control-group .date-picker-cell.is-selected{background:linear-gradient(135deg, rgba(16, 185, 129, 0.85), rgba(59, 130, 246, 0.8));color:#fff}.day-card__controls .control-group .date-picker-cell:hover{background:rgba(16,185,129,.3);color:#0f172a}.day-card__controls .control-group>button{border-radius:12px;border:1px solid rgba(15,23,42,.12);background:#fff;padding:10px 16px;cursor:pointer;font-weight:600}.day-card__summary{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:16px}.day-card__summary .summary-block{background:#fff;border-radius:18px;padding:18px;border:1px solid rgba(15,23,42,.08)}.day-card__summary .summary-block span{text-transform:uppercase;font-size:.75rem;letter-spacing:.08em;color:var(--moon-muted)}.day-card__summary .summary-block strong{display:block;font-size:1.8rem;margin:6px 0}.day-card__summary .summary-block p{margin:0;color:var(--moon-muted)}.day-meta{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:10px}.day-meta li{background:#fff;border-radius:12px;padding:10px 14px;border:1px solid rgba(15,23,42,.08);display:flex;flex-direction:column;gap:4px}.day-meta li span{font-size:.8rem;color:var(--moon-muted);text-transform:uppercase}.day-meta li strong{font-size:1rem;color:var(--moon-accent-strong)}.insight-card{background:#fff;border-radius:22px;border:1px solid rgba(15,23,42,.08);padding:20px;display:flex;flex-direction:column;gap:16px}.insight-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.insight-heading h3{margin:0}.insight-heading small{color:var(--moon-muted)}.split-list{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:16px}.split-list .label{margin:0 0 8px;font-weight:600}.split-list ul{list-style:disc;padding-left:18px;margin:0;color:var(--moon-muted);display:flex;flex-direction:column;gap:6px}.hours-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:12px}.hour-card{border:1px dashed rgba(16,185,129,.5);border-radius:16px;padding:12px 14px;background:rgba(16,185,129,.08)}.hour-card strong{display:block;font-size:1.1rem}.hour-card span{color:var(--moon-muted);font-size:.9rem}.holiday-panel{display:flex;flex-direction:column;gap:18px}.holiday-list{display:grid;grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));gap:16px}.holiday-item{border-radius:20px;padding:18px;border:1px solid rgba(15,23,42,.08);background:#fff;display:flex;flex-direction:column;gap:6px}.holiday-item.has-color{background:var(--holiday-bg, #fff);border-color:var(--holiday-color, rgba(15, 23, 42, 0.08))}.holiday-item.has-color strong,.holiday-item.has-color .date{color:var(--holiday-color, #0f172a)}.holiday-item.has-color .tag{background:hsla(0,0%,100%,.4);color:var(--holiday-color, #0f172a)}.holiday-item .date{font-size:1.3rem;font-weight:700}.holiday-item .tag{align-self:flex-start;padding:4px 10px;border-radius:999px;font-size:.8rem;background:rgba(15,23,42,.05)}.holiday-item .note{margin:4px 0 0;color:var(--moon-muted);font-size:.9rem}.holiday-item.has-color .note{color:var(--holiday-color, var(--moon-muted))}.article-section{background:rgba(15,23,42,.03);border-radius:26px;padding:28px;border:1px solid rgba(15,23,42,.08);display:flex;flex-direction:column;gap:16px}.article-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.article-heading h2{margin:0 0 6px}.article-heading p{margin:0;color:var(--moon-muted)}.article-heading .btn-toggle{border-radius:14px;border:1px solid rgba(15,23,42,.12);background:#fff;padding:10px 16px;font-weight:600;cursor:pointer}.article-content{position:relative;max-height:260px;overflow:hidden;transition:max-height .35s ease;background:#fff;border-radius:20px;border:1px solid rgba(15,23,42,.08)}.article-content.is-open{max-height:none}.article-content.is-open .article-fade{opacity:0;pointer-events:none}.article-inner{padding:20px}.article-fade{position:absolute;inset:auto 0 0 0;height:120px;background:linear-gradient(180deg, rgba(255, 255, 255, 0), #fff 60%);border-radius:0 0 20px 20px;transition:opacity .3s ease}@media(max-width: 1080px){.panel{padding:22px}}@media(max-width: 640px){body{padding:16px}.hero{padding:32px}.current-day{grid-template-columns:1fr}.day-nav{width:100%;min-height:unset}.day-card__summary{grid-template-columns:1fr}.split-list{grid-template-columns:1fr}.month-selectors{width:100%}}
