:root{--bg:#eee6d6;--surface:#fff8e8;--surface-strong:#fffdf4;--surface-muted:#f3ead7;--border:#d7c5a5;--border-soft:#eadbc0;--text:#31281d;--muted:#766a5a;--accent:#7c5130;--accent-strong:#5d351d;--accent-soft:#f4ead8;--warm:#a8322b;--warm-soft:#f8e5d9;--success:#4d7050;--success-soft:#e4ecd9;--warning:#7a5419;--warning-soft:#fff0c8;--gold:#b28a48;--radius-lg:12px;--radius-md:8px;--radius-sm:6px;--shadow:0 16px 44px #4830161f;color:var(--text);background:radial-gradient(circle at 12% 8%, #b28a481f, transparent 220px), radial-gradient(circle at 82% 14%, #416f5a21, transparent 240px), linear-gradient(90deg, #20332d09 1px, transparent 1px), linear-gradient(180deg, #20332d08 1px, transparent 1px), var(--bg);font-synthesis:none;text-rendering:optimizelegibility;background-size:auto,auto,42px 42px,42px 42px,auto;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 12% 8%, #b28a481a, transparent 220px), radial-gradient(circle at 82% 14%, #416f5a1c, transparent 240px), linear-gradient(90deg, #20332d08 1px, transparent 1px), linear-gradient(180deg, #20332d07 1px, transparent 1px), linear-gradient(120deg, #fffaf085, transparent 38%), var(--bg);background-size:auto,auto,42px 42px,42px 42px,auto,auto;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:8px 12px;transition:background .16s,border-color .16s,transform .16s;display:inline-flex}button:hover{border-color:var(--accent);transform:translateY(-1px)}input,select{border:1px solid var(--border);background:var(--surface-strong);color:var(--text);width:100%;min-height:38px;padding:8px 10px}main{max-width:1280px;margin:0 auto;padding:28px}h1,h2,h3,p{margin:0}h1{font-size:38px;font-weight:760}h2{font-size:24px;font-weight:720}h3{align-items:center;gap:8px;margin-bottom:14px;font-size:17px;display:flex}.eyebrow{color:var(--warm);letter-spacing:0;margin-bottom:6px;font-size:13px;font-weight:720}.topbar,.calendar-shell,.panel{background:linear-gradient(180deg, #ffffff52, transparent), var(--surface);border:1px solid color-mix(in srgb, var(--border) 72%, transparent);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.panel{border-radius:0}.topbar{grid-template-columns:minmax(220px,1fr) auto auto auto;align-items:center;gap:16px;margin-bottom:18px;padding:18px 22px;display:grid;position:relative}.home-topbar{background:linear-gradient(135deg, #ffffffa3, #ffffff3d), color-mix(in srgb, var(--surface) 92%, transparent);border-color:color-mix(in srgb, var(--border) 70%, transparent)}.topbar:before{background:var(--warm);content:"";border-radius:999px;width:96px;height:4px;position:absolute;top:-1px;left:22px}.brand-block{gap:4px;display:grid}.brand-block span{color:var(--muted);font-size:13px}.top-context{background:color-mix(in srgb, var(--accent-soft) 62%, transparent);border:1px solid var(--border-soft);border-radius:var(--radius-md);grid-template-columns:auto auto;align-items:baseline;gap:2px 10px;min-width:214px;padding:8px 14px;display:grid}.top-context span,.top-context small{color:var(--muted);font-size:12px}.top-context strong{color:var(--accent-strong);grid-row:span 2;font-family:Georgia,Times New Roman,serif;font-size:22px;line-height:1}.top-context small{grid-column:2}.top-actions{gap:10px;display:flex}.top-actions button{background:color-mix(in srgb, var(--surface-strong) 82%, transparent);border-color:var(--border-soft);border-radius:var(--radius-md);color:var(--muted);min-height:40px;padding:8px 14px}.top-actions button:hover{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 42%, var(--border-soft));color:var(--accent-strong)}.theme-badge{background:color-mix(in srgb, var(--surface-strong) 88%, transparent);border:1px solid var(--border-soft);border-radius:var(--radius-md);grid-template-columns:auto minmax(76px,auto) auto;align-items:center;gap:10px;min-height:44px;padding:6px 12px;display:grid}.theme-badge-copy{gap:1px;display:grid;overflow:hidden}.theme-badge-copy small{color:var(--muted);font-size:11px;line-height:1}.theme-badge-copy strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.15;overflow:hidden}.theme-badge em{color:var(--muted);font-size:12px;font-style:normal}.theme-swatch{border:1px solid var(--border);background:linear-gradient(135deg,#fff8e8 0 45%,#7c5130 45% 72%,#a8322b 72% 100%);border-radius:999px;width:22px;height:22px}.calendar-shell{background:linear-gradient(180deg, #fff6, transparent 42%), color-mix(in srgb, var(--surface) 94%, transparent);padding:14px;position:relative;overflow:hidden}.calendar-shell:after{content:none}.calendar-layout{z-index:1;grid-template-columns:minmax(0,1fr) minmax(268px,304px);gap:10px;display:grid;position:relative}.calendar-stage{background:linear-gradient(180deg, #ffffffb8, transparent 34%), var(--surface-strong);border-radius:var(--radius-md);border:0;min-width:0;padding:16px;display:grid}.calendar-aside{background:linear-gradient(180deg, #ffffff80, transparent), color-mix(in srgb, var(--surface-strong) 82%, var(--surface-muted));border-radius:var(--radius-md);border:0;grid-template-rows:auto auto auto 1fr;gap:0;min-width:0;display:grid;overflow:hidden}.dashboard-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.dashboard-card{background:linear-gradient(135deg, #416f5a14, #b28a480f), var(--surface-strong);border:1px solid var(--border-soft);gap:6px;min-height:112px;padding:16px;display:grid}.dashboard-card span,.dashboard-card small{color:var(--muted)}.dashboard-card strong{color:var(--accent-strong);font-size:25px}.progress-bar{background:var(--surface-muted);height:10px;overflow:hidden}.progress-bar i{background:linear-gradient(90deg, var(--accent), var(--gold));height:100%;display:block}.daily-brief,.aside-card{border:0;border-bottom:1px solid var(--border-soft);background:0 0;border-radius:0;padding:17px}.daily-brief{gap:10px;display:grid}.daily-brief-date{grid-template-columns:auto minmax(0,1fr);align-items:end;gap:2px;display:grid}.daily-brief-date strong{color:var(--warm);font-family:Georgia,Times New Roman,serif;font-size:66px;line-height:.9}.daily-brief-date span{color:var(--muted);padding-bottom:8px;font-family:Georgia,Times New Roman,serif;font-size:18px}.daily-brief h3{color:var(--accent-strong);font-family:Songti SC,STSong,Noto Serif CJK SC,serif;font-size:22px}.daily-brief p,.solar-orbit-card p{color:var(--muted);line-height:1.65}.daily-brief button,.mini-tool-list button,.poster-download{border-radius:var(--radius-sm);justify-content:center}.aside-card{gap:12px;display:grid}.aside-card h3{align-items:center;gap:8px;margin-bottom:0;display:flex}.mini-tags{flex-wrap:wrap;gap:7px;display:flex}.mini-tags .tag{border-radius:var(--radius-sm)}.orbit-row{border-top:1px solid var(--border-soft);gap:2px;padding-top:10px;display:grid}.orbit-row span,.orbit-row small{color:var(--muted)}.orbit-row strong{color:var(--accent-strong);font-size:22px}.mini-tool-list{border-bottom:0;align-content:start}.mini-tool-list button{border-color:var(--border-soft);border-radius:var(--radius-sm);width:100%;display:flex}.calendar-toolbar,.panel-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.calendar-toolbar{border-bottom:0;margin-bottom:12px;padding:10px 0 8px}.calendar-toolbar>button{background:var(--surface);border-color:var(--border-soft);border-radius:var(--radius-sm);width:42px;min-height:42px}.calendar-toolbar>button:hover{background:var(--accent-soft);color:var(--accent-strong);transform:none}.calendar-toolbar>div{text-align:center}.calendar-toolbar h2{font-family:Songti SC,STSong,Noto Serif CJK SC,serif;font-size:36px;font-weight:680}.calendar-toolbar span{color:var(--muted);margin-top:4px;font-size:14px;display:block}.notice,.alert{background:var(--warning-soft);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--warning);margin-bottom:12px;padding:10px 12px}.month-overview{background:color-mix(in srgb, var(--surface-muted) 28%, transparent);border-radius:var(--radius-sm);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-bottom:14px;display:grid}.month-overview span{color:var(--muted);gap:2px;padding:12px 14px;font-size:12px;display:grid}.month-overview span+span{border-left:1px solid color-mix(in srgb, var(--border-soft) 74%, transparent)}.month-overview strong{color:var(--accent-strong);font-family:Georgia,Times New Roman,serif;font-size:24px;line-height:1}.heat-control{background:color-mix(in srgb, var(--surface-muted) 38%, transparent);border-radius:var(--radius-sm);border:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin-bottom:14px;padding:6px 7px 6px 14px;display:grid}.heat-control span{color:var(--muted);font-size:13px;font-weight:720}.heat-options{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.heat-control button{border-color:var(--border-soft);border-radius:var(--radius-sm);background:0 0;min-height:32px;padding:5px 12px}.heat-control button.active{background:var(--accent);border-color:var(--accent);color:var(--surface-strong)}.weekday-row,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekday-row{color:var(--muted);text-align:center;margin-bottom:7px;font-size:13px;font-weight:700}.calendar-grid{background:color-mix(in srgb, var(--surface-muted) 42%, transparent);border-radius:var(--radius-md);border:0;gap:3px;padding:5px;overflow:hidden}.calendar-cell{aspect-ratio:1.12;background:linear-gradient(180deg, #ffffff73, transparent), var(--surface-strong);border-radius:var(--radius-sm);text-align:left;border:0;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:4px;min-height:106px;padding:11px 12px 10px;display:flex;position:relative}.calendar-cell:hover{background:var(--accent-soft);transform:none}.calendar-cell.is-muted{background:var(--surface-muted);color:var(--muted)}.calendar-cell.is-selected{z-index:1;box-shadow:0 5px 16px #a24b5a1f}.calendar-cell.is-selected:after{border:2px solid var(--warm);border-radius:var(--radius-sm);content:"";pointer-events:none;position:absolute;inset:0}.cell-date-row{justify-content:space-between;align-items:baseline;gap:8px;width:100%;display:flex}.calendar-cell-meta{align-items:center;gap:4px;max-width:calc(100% - 24px);min-height:18px;display:flex}.calendar-cell.is-today .solar-day{background:var(--warm);color:var(--surface-strong)}.calendar-cell.heat-1{background:color-mix(in srgb, var(--success-soft) 45%, var(--surface-strong))}.calendar-cell.heat-2{background:color-mix(in srgb, var(--success-soft) 68%, var(--surface-strong))}.calendar-cell.heat-3{background:color-mix(in srgb, var(--success-soft) 82%, var(--surface-strong))}.heat-dot{background:color-mix(in srgb, var(--success-soft) 74%, transparent);color:var(--success);border-radius:999px;padding:2px 4px;font-size:12px;font-weight:760;line-height:1}.solar-day{justify-content:center;align-items:center;min-width:32px;height:32px;font-family:Georgia,Times New Roman,serif;font-size:25px;font-weight:760;display:inline-flex}.lunar-day{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.25;overflow:hidden}.marker{color:var(--warm);overflow-wrap:anywhere;max-width:100%;font-size:12px;font-weight:720;line-height:1.25}.rest-badge,.work-badge{justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:760;display:inline-flex;position:absolute;bottom:8px;right:8px}.rest-badge{background:var(--success-soft);color:var(--success)}.work-badge{background:var(--warm-soft);color:var(--warm)}.tabs{gap:8px;margin:14px 0;display:flex;overflow-x:auto}.tabs button{background:var(--surface-strong);white-space:nowrap}.tabs button.active{background:var(--accent);border-color:var(--accent);color:var(--surface-strong)}.panel{padding:22px}.detail-panel{gap:18px;display:grid}.detail-panel button{border-radius:var(--radius-sm)}.date-hero{background:linear-gradient(135deg, #a23a3214, #416f5a14), var(--surface-strong);border:1px solid var(--border-soft);border-radius:var(--radius-md);grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:18px;padding:22px;display:grid}.date-hero-main{gap:14px;min-width:0;display:grid}.date-hero-date{align-items:end;gap:18px;display:flex}.date-hero-date span{color:var(--muted);padding-bottom:18px;font-family:Georgia,Times New Roman,serif;font-size:28px}.date-hero-date strong{color:var(--warm);font-family:Georgia,Times New Roman,serif;font-size:132px;line-height:.86}.date-hero-main h2{font-family:Songti SC,STSong,Noto Serif CJK SC,serif;font-size:38px}.date-hero-tags{flex-wrap:wrap;gap:8px;display:flex}.date-hero-tags span{background:var(--accent-soft);border-radius:var(--radius-sm);color:var(--accent-strong);padding:8px 10px;font-weight:720}.date-hero-side{gap:12px;display:grid}.date-chip{background:var(--accent-soft);border-radius:var(--radius-sm);color:var(--accent-strong);padding:8px 12px;font-weight:720}.date-nav{background:var(--surface-strong);border:1px solid var(--border-soft);border-radius:var(--radius-md);grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.compact-date-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-date-nav span{order:3;grid-column:1/-1}.date-nav span{color:var(--muted);text-align:center;font-weight:720}.summary-card{background:linear-gradient(90deg, #416f5a1a, #b28a4814), var(--surface-strong);border:1px solid var(--border);border-left:4px solid var(--warm);border-radius:var(--radius-md);gap:8px;padding:18px;display:grid}.summary-card p{color:var(--muted);line-height:1.7}.poster-download{width:100%}.tools-panel{border-radius:var(--radius-lg);gap:20px;display:grid}.tool-section{background:color-mix(in srgb, var(--surface-strong) 74%, transparent);border-radius:var(--radius-md);grid-template-columns:minmax(180px,.36fr) minmax(0,1fr);gap:18px;padding:18px;display:grid}.tool-section+.tool-section{border-top:0}.tool-section-intro{align-content:start;gap:8px;display:grid}.tool-section-intro h3{color:var(--accent-strong);margin-bottom:0;font-family:Songti SC,STSong,Noto Serif CJK SC,serif;font-size:26px}.tool-section-intro p:not(.eyebrow){color:var(--muted);line-height:1.65}.tool-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.tool-card{background:linear-gradient(180deg, #ffffff57, transparent), var(--surface-strong);border:1px solid var(--border-soft);border-radius:var(--radius-md);text-align:left;border-left:3px solid #0000;grid-template-columns:auto minmax(0,1fr) auto;justify-content:stretch;align-items:center;gap:8px 12px;width:100%;min-height:112px;padding:16px;display:grid}.tool-card:hover{background:var(--accent-soft);border-left-color:var(--warm)}.tool-card-icon{background:var(--accent-soft);border-radius:var(--radius-sm);color:var(--accent-strong);grid-row:span 2;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.tool-detail-back{margin-bottom:12px;display:flex}.tool-detail-back button{background:var(--surface-strong);border-color:var(--border-soft);border-radius:var(--radius-sm)}.tool-detail-page{gap:0;display:grid}.tool-detail-page .panel{border-radius:var(--radius-lg)}.tool-detail-page button,.tool-detail-page input,.tool-detail-page select{border-radius:var(--radius-sm)}.tool-detail-page .panel-heading,.tool-detail-page .summary-strip span,.tool-detail-page .quick-actions button,.tool-detail-page .option-row button,.tool-detail-page .filter-grid label,.tool-detail-page .calendar-month-list span,.tool-detail-page .month-bar:before,.tool-detail-page .month-bar i,.tool-detail-page .progress-bar,.tool-detail-page .progress-bar i,.tool-detail-page .holiday-countdown,.tool-detail-page .holiday-row,.tool-detail-page .lucky-card,.tool-detail-page .birthday-row,.tool-detail-page .timeline-item,.tool-detail-page .export-row,.tool-detail-page .compare-span,.tool-detail-page .tool-box,.tool-detail-page .term-card,.tool-detail-page .info-box,.tool-detail-page .stat,.tool-detail-page .hour-card{border-radius:var(--radius-md)}.tool-card strong{font-size:18px}.tool-card small{color:var(--muted);grid-column:2;line-height:1.45}.tool-card:after{color:var(--warm);content:"→";grid-area:1/3/span 2;font-family:Georgia,Times New Roman,serif;font-size:24px}.visual-grid,.compare-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.visual-box{gap:12px;display:grid}.moon-visual{align-items:center;gap:16px;display:flex}.moon-disc{border:1px solid color-mix(in srgb, var(--gold) 58%, var(--border));background:radial-gradient(circle at 36% 30%,#fffffff2,#0000 0 9%,#0000 10%),radial-gradient(circle at 40% 35%,#fff8d7 0 18%,#f5d982 48%,#be914d 72%,#6d4a2b 100%);border-radius:50%;width:112px;height:112px;position:relative;overflow:hidden;box-shadow:inset -14px -12px 24px #31281d47,0 10px 28px #31281d29}.moon-disc:before{content:"";background:#fff8d733;border-radius:50%;position:absolute;inset:12%}.moon-shadow{box-shadow:inset 10px 0 16px rgba(255, 248, 215, calc(var(--lit) / 260));bottom:-2%;left:calc(50% + var(--shadow-offset) - 56%);background:radial-gradient(circle at 42% 42%,#192026a3,#0a0e12f2 72%);border-radius:50%;width:112%;position:absolute;top:-2%}.moon-caption{gap:6px;display:grid}.moon-caption strong{font-family:Songti SC,STSong,Noto Serif CJK SC,serif;font-size:22px}.moon-caption span{color:var(--muted);font-size:13px}.poster-preview{background:linear-gradient(180deg, #fffdf4db, #f4ead8e6), var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);justify-items:center;min-height:148px;padding:16px;display:grid;position:relative}.poster-preview:before,.poster-preview:after{border:1px solid var(--accent);content:"";width:34px;height:34px;position:absolute}.poster-preview:before{border-bottom:0;border-right:0;top:10px;left:10px}.poster-preview:after{border-top:0;border-left:0;bottom:10px;right:10px}.poster-preview span{color:var(--accent);font-family:Georgia,Times New Roman,serif;font-size:20px}.poster-preview strong{color:var(--warm);font-family:Georgia,Times New Roman,serif;font-size:56px;line-height:1}.poster-preview small{color:var(--muted);font-size:13px}.ganzhi-wheel{min-height:132px;position:relative}.ganzhi-wheel:before{background:radial-gradient(ellipse at center, #b28a482e, transparent 62%), linear-gradient(90deg, transparent, color-mix(in srgb, var(--border) 72%, transparent), transparent);border:1px solid color-mix(in srgb, var(--border-soft) 76%, transparent);content:"";border-radius:50%;width:min(310px,88%);height:74px;position:absolute;top:31px;left:50%;transform:translate(-50%)perspective(220px)rotateX(58deg)}.ganzhi-ring{background:radial-gradient(circle at 34% 26%, #ffffffc7, transparent 0 22%, transparent 23%), linear-gradient(145deg, color-mix(in srgb, var(--surface-strong) 78%, white), var(--surface-muted));border:1px solid color-mix(in srgb, var(--border) 82%, transparent);border-radius:999px;place-items:center;gap:3px;width:98px;height:98px;padding:12px;display:grid;position:absolute;top:14px;left:calc(50% - 49px);box-shadow:inset -10px -12px 22px #31281d1f,inset 8px 9px 14px #ffffff94,0 14px 24px #31281d1f}.ganzhi-ring[data-index="0"]{opacity:.92;z-index:1;transform:translate(-92px)scale(.88)}.ganzhi-ring[data-index="1"]{background:radial-gradient(circle at 34% 26%, #ffffffd6, transparent 0 22%, transparent 23%), linear-gradient(145deg, color-mix(in srgb, var(--accent-soft) 72%, white), color-mix(in srgb, var(--gold) 22%, var(--surface-muted)));z-index:3;transform:translateY(-8px)scale(1.08);box-shadow:inset -12px -14px 24px #31281d29,inset 9px 10px 16px #ffffffad,0 18px 34px #31281d2e}.ganzhi-ring[data-index="2"]{opacity:.92;z-index:1;transform:translate(92px)scale(.88)}.ganzhi-ring span{color:var(--muted);font-size:12px}.ganzhi-ring strong{font-size:18px}.stats-grid,.two-column,.tool-grid,.terms-grid,.filter-grid{gap:12px;display:grid}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.terms-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px}.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0 12px}.compact-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-grid label{gap:7px;display:grid}.filter-grid label span{color:var(--muted);font-size:13px;font-weight:700}.stat,.info-box,.tool-box,.term-card,.hour-card{background:var(--surface-strong);border:1px solid var(--border-soft);border-radius:var(--radius-md)}.stat{padding:14px}.stat span,.info-row span{color:var(--muted);font-size:13px;display:block}.stat strong{margin-top:6px;font-size:20px;display:block}.info-box,.tool-box{padding:16px}.info-row{border-top:1px solid var(--border-soft);justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;display:flex}.info-row strong{text-align:right}.tag-list{flex-wrap:wrap;gap:8px;display:flex}.tag{border-radius:var(--radius-sm);border:1px solid;padding:6px 8px;font-size:13px}.tag-good{background:var(--success-soft);border-color:color-mix(in srgb, var(--success) 38%, var(--success-soft));color:var(--success)}.tag-bad{background:var(--warm-soft);border-color:color-mix(in srgb, var(--warm) 35%, var(--warm-soft));color:var(--warm)}.hours-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.hour-card{gap:5px;padding:12px;display:grid}.hour-card span,.hour-card small,.muted{color:var(--muted)}.hour-card small{line-height:1.4}.input-line{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:12px;display:grid}.triple-input{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.checkbox-line{align-items:center;gap:8px;margin:12px 0;display:flex}.checkbox-line input{width:auto;min-height:auto}.result-list{margin-top:12px}.feature-section{margin-top:18px}.range-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.inline-select{max-width:180px}.prose{margin-bottom:12px;line-height:1.75}.result-tags{margin-top:12px}.bazi-board{background:var(--surface-strong);border:1px solid var(--border-soft);border-radius:var(--radius-md);overflow:hidden}.bazi-row{grid-template-columns:76px 76px 54px 54px minmax(90px,1fr) minmax(96px,1fr) 64px;align-items:center;gap:8px;padding:12px 14px;display:grid}.bazi-row+.bazi-row{border-top:1px solid var(--border-soft)}.bazi-header{background:var(--surface-muted);color:var(--muted);font-size:13px;font-weight:720}.bazi-row strong{color:var(--accent-strong);font-size:18px}.bazi-row span{min-width:0}.calendar-month-list,.month-bars{gap:8px;display:grid}.calendar-month-list span{background:var(--surface-muted);border:1px solid var(--border-soft);color:var(--muted);padding:8px 10px}.month-bar{grid-template-columns:46px minmax(0,1fr) 34px;align-items:center;gap:10px;display:grid}.month-bar i{background:var(--accent);height:10px;display:block}.month-bar:before{background:var(--surface-muted);content:"";grid-area:1/2;width:100%;height:10px}.month-bar i{z-index:1;grid-area:1/2;position:relative}.month-bar span,.month-bar strong{color:var(--muted);font-size:13px}.summary-strip,.quick-actions,.option-row{flex-wrap:wrap;gap:8px;display:flex}.summary-strip span{background:var(--accent-soft);color:var(--accent-strong);padding:8px 10px;font-weight:720}.holiday-list,.lucky-list,.birthday-list{gap:10px;margin-top:18px;display:grid}.holiday-countdown{background:var(--accent-soft);border-color:var(--accent);text-align:left;grid-template-columns:auto minmax(0,1fr) auto;justify-content:stretch;align-items:center;gap:8px;width:100%;margin-top:18px;padding:14px;display:grid}.holiday-countdown span{color:var(--muted)}.holiday-countdown em{color:var(--accent-strong);font-style:normal;font-weight:760}.holiday-row,.lucky-card,.birthday-row{background:var(--surface-strong);border:1px solid var(--border-soft)}.export-row{justify-content:flex-start;width:100%}.timeline{gap:10px;margin-top:18px;display:grid}.timeline-item{background:var(--surface-strong);border:1px solid var(--border-soft);text-align:left;grid-template-columns:110px 150px minmax(0,1fr);justify-content:stretch;align-items:center;gap:10px;width:100%;padding:12px;display:grid}.timeline-item span,.timeline-item small{color:var(--muted)}.compact-timeline{max-height:560px;padding-right:4px;overflow:auto}.compact-timeline .timeline-item{grid-template-columns:96px 110px minmax(0,1fr)}.timeline-term{border-left:4px solid var(--accent)}.timeline-holiday{border-left:4px solid var(--warm)}.timeline-festival{border-left:4px solid var(--success)}.compare-span{grid-column:span 3}.holiday-row{text-align:left;grid-template-columns:auto 110px 54px minmax(70px,1fr) minmax(180px,1.5fr);justify-content:stretch;align-items:center;gap:10px;width:100%;min-height:46px;padding:10px 12px;display:grid}.holiday-row small{color:var(--muted)}.inline-badge{position:static;bottom:auto;right:auto}.quick-actions{margin-bottom:4px}.quick-actions button{min-height:34px;padding:6px 10px}.option-row{margin-bottom:14px}.lucky-card{text-align:left;grid-template-columns:minmax(160px,.9fr) minmax(0,2fr);justify-content:stretch;align-items:flex-start;gap:12px;width:100%;padding:14px;display:grid}.lucky-card>div:first-child{gap:6px;display:grid}.lucky-card strong,.birthday-row strong{font-size:18px}.lucky-card span,.birthday-row span,.birthday-row small{color:var(--muted)}.birthday-row{grid-template-columns:80px minmax(180px,1.4fr) minmax(140px,1fr) 64px;align-items:center;gap:10px;padding:12px 14px;display:grid}.term-card{gap:8px;padding:14px;display:grid}.term-card strong{font-size:18px}.term-card span,.term-card small{color:var(--muted);font-size:14px}.term-card small{line-height:1.45}:root[data-theme=celestial]{--bg:#171d24;--surface:#1f2a2edb;--surface-strong:#fffae1f0;--surface-muted:#d1b8842e;--border:#dab66475;--border-soft:#dab6643d;--text:#f7ecd1;--muted:#d0c0a0;--accent:#2f7f78;--accent-strong:#f1cf86;--accent-soft:#2f7f7833;--warm:#d24d3d;--warm-soft:#d24d3d2e;--success:#8fbf8f;--success-soft:#8fbf8f2e;--warning:#f1cf86;--warning-soft:#f1cf8629;--gold:#d8b46b;--shadow:0 22px 64px #00000047;background:radial-gradient(circle at 22% 0,#d24d3d38,#0000 260px),radial-gradient(circle at 78% 8%,#2f7f7847,#0000 320px),linear-gradient(145deg,#171d24 0%,#223433 48%,#1b2027 100%)}:root[data-theme=celestial] body{background:radial-gradient(circle at 18% 6%,#d24d3d33,#0000 260px),radial-gradient(circle at 76% 12%,#2f7f7842,#0000 330px),radial-gradient(circle at 50% -18%,#d8b46b2e,#0000 420px),linear-gradient(145deg,#171d24 0%,#223433 48%,#1b2027 100%)}.celestial-backdrop{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.celestial-backdrop:before,.celestial-backdrop:after{content:"";position:absolute}.celestial-backdrop:before{opacity:.46;background:radial-gradient(circle,#ffe8a66b 0 1px,#0000 1.5px) 0 0/84px 84px,radial-gradient(circle,#8dccc047 0 1px,#0000 1.5px) 19px 31px/112px 112px;inset:0}.celestial-backdrop:after{background:linear-gradient(90deg,#0000,#d8b46b47,#0000),linear-gradient(#0000,#2f7f782e,#0000);width:720px;height:720px;top:-160px;right:-120px;transform:rotate(-18deg)}.celestial-backdrop canvas{opacity:.72;width:760px;height:760px;position:absolute;top:-180px;right:-160px}main[data-theme=celestial]{isolation:isolate;z-index:1;position:relative}main[data-theme=celestial] .topbar,main[data-theme=celestial] .calendar-shell,main[data-theme=celestial] .panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(135deg,#fff6d21f,#0000 42%),linear-gradient(#182126e6,#141a20c7);border-color:#d8b46b57;box-shadow:inset 0 1px #ffefbc29,0 22px 70px #0000004d}main[data-theme=celestial] .topbar:before{background:linear-gradient(90deg, var(--warm), var(--gold), var(--accent));box-shadow:0 0 18px #d8b46b8c}main[data-theme=celestial] .brand-block h1,main[data-theme=celestial] .calendar-toolbar h2,main[data-theme=celestial] .daily-brief h3,main[data-theme=celestial] .tool-section-intro h3,main[data-theme=celestial] .date-hero-main h2{color:#fff3cf;text-shadow:0 0 18px #d8b46b38}main[data-theme=celestial] .eyebrow{color:var(--gold)}main[data-theme=celestial] .top-context,main[data-theme=celestial] .theme-badge,main[data-theme=celestial] .top-actions button,main[data-theme=celestial] .calendar-toolbar>button,main[data-theme=celestial] .detail-panel button,main[data-theme=celestial] .date-nav,main[data-theme=celestial] .date-nav button,main[data-theme=celestial] .poster-download,main[data-theme=celestial] .tool-detail-back button,main[data-theme=celestial] .heat-control,main[data-theme=celestial] .month-overview{background:#fff6d214;border-color:#d8b46b3d}main[data-theme=celestial] .top-actions button:hover,main[data-theme=celestial] .calendar-toolbar>button:hover,main[data-theme=celestial] .detail-panel button:hover,main[data-theme=celestial] .date-nav button:hover,main[data-theme=celestial] .poster-download:hover,main[data-theme=celestial] .visual-box>button:hover,main[data-theme=celestial] .tool-detail-back button:hover{color:#fff3cf;background:#2f7f7833;border-color:#d8b46b7a;box-shadow:0 0 18px #d8b46b29}main[data-theme=celestial] .theme-badge{border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px #ffe8a614}main[data-theme=celestial] .theme-swatch{background:radial-gradient(circle at 34% 34%,#ffe6a4 0 16%,#0000 17%),conic-gradient(from 130deg,#1f5d5a,#d8b46b,#d24d3d,#253c52,#1f5d5a);border-color:#ffe8a6a8}main[data-theme=celestial] .calendar-stage,main[data-theme=celestial] .calendar-aside,main[data-theme=celestial] .dashboard-card,main[data-theme=celestial] .date-hero,main[data-theme=celestial] .summary-card,main[data-theme=celestial] .tool-section,main[data-theme=celestial] .info-box,main[data-theme=celestial] .tool-box,main[data-theme=celestial] .term-card,main[data-theme=celestial] .hour-card,main[data-theme=celestial] .stat,main[data-theme=celestial] .bazi-board{color:var(--text);background:linear-gradient(140deg,#fff6d21a,#0000 46%),#121c2094;border-color:#d8b46b38}main[data-theme=celestial] .summary-card{border-left-color:var(--gold);box-shadow:inset 0 0 0 1px #ffe8a60f,0 16px 34px #00000029}main[data-theme=celestial] .summary-card strong{color:#fff3cf}main[data-theme=celestial] .date-nav span{color:var(--gold)}main[data-theme=celestial] .date-hero-tags span,main[data-theme=celestial] .date-chip{color:#f3d58e;background:#2f7f7829;border:1px solid #d8b46b33}main[data-theme=celestial] .poster-preview{color:var(--text);background:radial-gradient(circle at 50% 18%,#d8b46b33,#0000 38%),linear-gradient(#fff6d21f,#121c20ad);border-color:#d8b46b57;box-shadow:inset 0 0 34px #d8b46b14,0 16px 34px #00000029}main[data-theme=celestial] .poster-preview:before,main[data-theme=celestial] .poster-preview:after{border-color:#d8b46bb8}main[data-theme=celestial] .poster-preview span{color:var(--gold)}main[data-theme=celestial] .poster-preview strong{color:#f0c979;text-shadow:0 0 20px #d8b46b38}main[data-theme=celestial] .poster-preview small{color:var(--muted)}main[data-theme=celestial] .calendar-shell{position:relative}main[data-theme=celestial] .calendar-shell:before{content:"";background:linear-gradient(90deg,#0000,#d8b46b61,#0000),radial-gradient(circle,#d8b46b29,#0000 66%);height:1px;position:absolute;top:18px;left:22px;right:22px}main[data-theme=celestial] .calendar-grid{background:linear-gradient(90deg,#d8b46b29 1px,#0000 1px) 0 0/14px 14px,linear-gradient(#d8b46b1f 1px,#0000 1px) 0 0/14px 14px,#fff6d20a}main[data-theme=celestial] .calendar-cell{color:var(--text);background:radial-gradient(circle at 82% 18%,#d8b46b1f,#0000 42%),linear-gradient(#fff6d21a,#121b2099);border:1px solid #d8b46b1f;transition:border-color .18s,box-shadow .18s,transform .18s;overflow:hidden}main[data-theme=celestial] .calendar-cell:before{content:"";background:linear-gradient(135deg,#0000,#d8b46b38,#0000);width:70%;height:140%;transition:left .42s;position:absolute;top:-20%;left:-120%;transform:rotate(12deg)}main[data-theme=celestial] .calendar-cell:hover{background:radial-gradient(circle at 82% 18%,#d8b46b2e,#0000 42%),linear-gradient(#2f7f782e,#121b20b8);border-color:#d8b46b75;transform:translateY(-3px);box-shadow:0 14px 28px #00000047}main[data-theme=celestial] .calendar-cell:hover:before{left:130%}main[data-theme=celestial] .calendar-cell.is-muted{color:#f7ecd18a;background:#fff6d20a}main[data-theme=celestial] .calendar-cell.is-selected{box-shadow:0 0 0 1px #d8b46b2e,0 0 28px #d8b46b38}main[data-theme=celestial] .calendar-cell.is-selected:after{border-color:var(--gold);box-shadow:inset 0 0 18px #d8b46b2e}main[data-theme=celestial] .calendar-cell.is-today .solar-day{background:var(--warm);border-radius:50%;box-shadow:0 0 18px #d24d3d7a}main[data-theme=celestial] .marker,main[data-theme=celestial] .tool-card:after{color:#f0c979}main[data-theme=celestial] .progress-bar{background:#fff6d21a;border:1px solid #d8b46b29}main[data-theme=celestial] .progress-bar i,main[data-theme=celestial] .month-bar i{background:linear-gradient(90deg, var(--accent), var(--gold), var(--warm));box-shadow:0 0 16px #d8b46b57}main[data-theme=celestial] .tag-good,main[data-theme=celestial] .rest-badge{color:#bfe4b9;background:#8fbf8f29}main[data-theme=celestial] .tag-bad,main[data-theme=celestial] .work-badge{color:#f3a092;background:#d24d3d29}main[data-theme=celestial] .tool-card,main[data-theme=celestial] .holiday-row,main[data-theme=celestial] .lucky-card,main[data-theme=celestial] .birthday-row,main[data-theme=celestial] .timeline-item{background:#121c2094;border-color:#d8b46b2e}main[data-theme=celestial] .tool-card:hover,main[data-theme=celestial] .timeline-item:hover,main[data-theme=celestial] .lucky-card:hover{background:#2f7f782e;border-color:#d8b46b70}main[data-theme=celestial] input,main[data-theme=celestial] select{color:var(--text);background:#0c14189e;border-color:#d8b46b47}main[data-theme=celestial] button{color:var(--text)}main[data-theme=celestial] .topbar,main[data-theme=celestial] .calendar-shell,main[data-theme=celestial] .panel{animation:.52s both celestial-rise}main[data-theme=celestial] .calendar-cell,main[data-theme=celestial] .aside-card,main[data-theme=celestial] .dashboard-card,main[data-theme=celestial] .tool-card{animation:.42s both celestial-fade}@keyframes celestial-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes celestial-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (width<=920px){.celestial-backdrop canvas{opacity:.54;width:520px;height:520px;top:-130px;right:-180px}main{padding:14px}.stats-grid,.two-column,.tool-grid,.terms-grid,.filter-grid,.dashboard-strip,.visual-grid,.compare-grid,.hours-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compare-span{grid-column:span 2}.calendar-layout,.date-hero,.tool-section{grid-template-columns:1fr}.topbar{grid-template-columns:minmax(0,1fr) auto}.top-context{order:3}.calendar-cell{min-height:82px;padding:8px}}@media (width<=640px){.celestial-backdrop canvas{display:none}.celestial-backdrop:after{opacity:.38}h1{font-size:30px}h2{font-size:20px}.topbar,.panel-heading{flex-direction:column;align-items:flex-start}.topbar{grid-template-columns:1fr}.top-context{width:100%;min-width:0}.top-actions{width:100%}.top-actions button,.theme-badge{flex:1}.theme-badge{width:100%}.calendar-toolbar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.calendar-toolbar>div{text-align:center}.month-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.month-overview span:nth-child(3){border-left:0;border-top:1px solid color-mix(in srgb, var(--border-soft) 74%, transparent)}.month-overview span:nth-child(4){border-top:1px solid color-mix(in srgb, var(--border-soft) 74%, transparent)}.heat-control{border-radius:var(--radius-md);grid-template-columns:1fr}.heat-options{justify-content:flex-start}.weekday-row{font-size:12px}.calendar-cell{aspect-ratio:auto;min-height:74px;padding:6px}.solar-day{min-width:26px;height:26px;font-size:17px}.lunar-day,.marker{font-size:11px}.rest-badge,.work-badge{width:18px;height:18px;bottom:5px;right:5px}.stats-grid,.two-column,.tool-grid,.terms-grid,.filter-grid,.dashboard-strip,.tool-card-grid,.visual-grid,.compare-grid,.hours-grid{grid-template-columns:1fr}.bazi-board{overflow-x:auto}.bazi-row{min-width:680px}.holiday-row,.lucky-card,.birthday-row,.timeline-item,.holiday-countdown,.date-nav,.compact-date-nav{grid-template-columns:1fr}.date-hero-date{align-items:flex-start;gap:6px;display:grid}.date-hero-date span{padding-bottom:0;font-size:20px}.date-hero-date strong{font-size:92px}.daily-brief-date strong{font-size:58px}.compare-span{grid-column:span 1}.ganzhi-wheel{min-height:310px}.ganzhi-wheel:before{width:170px;height:220px;top:36px;transform:translate(-50%)perspective(240px)rotateX(72deg)}.ganzhi-ring,.ganzhi-ring[data-index="0"],.ganzhi-ring[data-index="1"],.ganzhi-ring[data-index="2"]{opacity:1;transform:translateY(calc(var(--ring-index,0) * 100px)) scale(var(--ring-scale,1));left:calc(50% - 49px)}.ganzhi-ring[data-index="0"]{--ring-index:0;--ring-scale:.9}.ganzhi-ring[data-index="1"]{--ring-index:1;--ring-scale:1.06}.ganzhi-ring[data-index="2"]{--ring-index:2;--ring-scale:.9}.date-nav span{text-align:left}.info-row{flex-direction:column;align-items:flex-start;gap:4px}.info-row strong{text-align:left}}@media (prefers-reduced-motion:reduce){main[data-theme=celestial] .topbar,main[data-theme=celestial] .calendar-shell,main[data-theme=celestial] .panel,main[data-theme=celestial] .calendar-cell,main[data-theme=celestial] .aside-card,main[data-theme=celestial] .dashboard-card,main[data-theme=celestial] .tool-card{animation:none}main[data-theme=celestial] .calendar-cell,main[data-theme=celestial] button{transition:none}.celestial-backdrop canvas{display:none}}
