:root{--primary:#165DFF;--primary-light:#d7e1ff;--luck:#c0392b;--avoid:#555;--bg:#f5f7fa;--card-bg:#fff;--radius:12px;--shadow:0 2px 12px rgba(0,0,0,.08);--font:"PingFang SC","Microsoft YaHei",system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:#1a2332;line-height:1.6;padding:12px}.container{max-width:1280px;margin:0 auto}.header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:12px;gap:10px}.header h1{font-size:22px;font-weight:700;line-height:1.3}.header h1 small{font-size:14px;font-weight:400;color:#8b95a9}.header .sub{font-size:13px;color:#8b95a9;margin-top:2px}.btn-today{background:var(--primary);color:#fff;padding:8px 20px;border-radius:999px;font-weight:600;font-size:14px;box-shadow:0 4px 12px rgba(22,93,255,.3);text-decoration:none;display:inline-flex;align-items:center;gap:6px;flex-shrink:0;transition:all .2s}.btn-today:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(22,93,255,.4)}.nav-bar{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:10px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:10px}.nav-bar .nav-link{padding:4px 10px;border-radius:6px;font-weight:500;font-size:14px;color:#1a2332;text-decoration:none;transition:background .2s}.nav-bar .nav-link:hover{background:var(--primary-light);color:var(--primary)}.nav-bar select{padding:4px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;cursor:pointer;outline:none;font-family:inherit}.nav-bar select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(22,93,255,.15)}.nav-bar .goto-btn{background:var(--primary);color:#fff;border:none;padding:4px 16px;border-radius:6px;font-weight:500;font-size:14px;cursor:pointer;transition:opacity .2s}.nav-bar .goto-btn:hover{opacity:.85}.legend{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:12px;margin-bottom:14px}.legend-item{display:flex;align-items:center;gap:4px}.legend-dot{width:14px;height:14px;border-radius:4px;border:1px solid #ddd}.main-grid{display:grid;grid-template-columns:1fr;gap:20px}@media(min-width:1024px){.main-grid{grid-template-columns:2fr 1fr}}.calendar-wrap{position:relative}.day-switch-arrow{position:absolute;top:10px;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.16);text-align:center;line-height:36px;font-size:20px;font-weight:bold;color:#165DFF;text-decoration:none;z-index:2}.day-prev-arrow{left:6px}.day-next-arrow{right:6px}.day-switch-arrow:hover{background:#165DFF;color:#fff}.calendar-card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 48px}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-weight:600;font-size:13px;color:#6b7a8f;margin-bottom:6px}.weekdays span:last-child{color:var(--luck)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.day-cell{background:#fafbfc;border:1px solid #eef0f3;border-radius:6px;padding:6px 2px 2px;text-align:center;min-height:68px;cursor:pointer;transition:all .15s;text-decoration:none;color:inherit;display:flex;flex-direction:column;justify-content:flex-start;align-items:center}.day-cell:hover{transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,0,0,.06)}.day-cell .num{font-size:16px;font-weight:600;line-height:1.2}.day-cell .lunar{font-size:10px;color:#9aa6b9}.day-cell .label{font-size:10px;font-weight:500;margin-top:1px;line-height:1.2;max-height:24px;overflow:hidden}.day-cell.placeholder{background:#f8f9fb;border-color:#f0f2f5;cursor:default;min-height:68px}.day-cell.current{border:2px solid var(--primary);background:#c8d8ff!important}.day-cell.current .num{color:var(--primary)}.day-cell.term{background:#ffeeba!important}.day-cell.term .label{color:#925b00;font-weight:700}.day-cell.holiday{background:#f8c7c7!important}.day-cell.weekend{background:#cfe1ff!important}.day-cell.workshift{background:#dce4ec!important}.day-cell.festival{background:#ffe8cc!important}.detail-panel{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;max-height:80vh;overflow-y:auto}.detail-panel h2{font-size:18px;border-bottom:2px solid var(--primary);padding-bottom:10px;margin-bottom:14px}.detail-row{display:flex;padding:3px 0;font-size:14px;border-bottom:1px solid #f0f2f5}.detail-row .label{font-weight:600;color:#4a5a72;min-width:44px;flex-shrink:0}.detail-row .value{color:#1a2332}.yi-ji-box{background:#f8faff;border:1px solid #e8edf5;border-radius:10px;padding:10px 14px;margin:10px 0 14px}.yi-ji-box .row{display:flex;align-items:flex-start;gap:6px;padding:2px 0}.yi-ji-box .row .icon{font-size:18px;flex-shrink:0}.yi-ji-box .row .text{font-size:14px}.yi-ji-box .row .text .label-yi{color:var(--luck);font-weight:600}.yi-ji-box .row .text .label-ji{color:var(--avoid);font-weight:600}.yi-ji-box .divider{border-top:1px dashed #e0e5ed;margin:4px 0}.detail-section{margin-top:12px;padding-top:12px;border-top:2px solid #eef0f3}.detail-section-title{font-weight:600;font-size:13px;color:#4a5a72;margin-bottom:4px}.footer{text-align:center;font-size:12px;color:#1a63da;padding:20px 0 8px;border-top:1px solid #eef0f3;margin-top:30px}@media(max-width:768px){body{padding:8px}.header h1{font-size:18px}.header h1 small{font-size:12px;display:block;margin-top:2px}.header .sub{font-size:11px}.btn-today{padding:6px 14px;font-size:13px}.nav-bar{padding:8px 12px;gap:4px 6px}.nav-bar select{font-size:12px;padding:3px 6px;max-width:70px}.nav-bar .nav-link{font-size:12px;padding:2px 6px}.nav-bar .goto-btn{font-size:12px;padding:3px 12px}.calendar-card{padding:10px 40px}.day-switch-arrow{width:30px;height:30px;line-height:30px;font-size:16px}.day-cell{min-height:56px;padding:4px 2px}.day-cell .num{font-size:14px}.day-cell .lunar{font-size:9px}.day-cell .label{font-size:9px;max-height:18px}.weekdays{font-size:11px}.detail-panel{padding:12px;max-height:none}.detail-row{font-size:13px}}@media(max-width:400px){.day-cell{min-height:46px}.day-cell .num{font-size:12px}.day-cell .lunar{font-size:8px}.day-cell .label{font-size:8px;max-height:14px}.nav-bar select{max-width:60px;font-size:11px}}@media print{.no-print{display:none!important}body{background:#fff}.day-cell{border:1px solid #ccc!important;transform:none!important}.shadow,.shadow-lg{box-shadow:none!important}.day-switch-arrow{display:none!important}}.footer p.rand  a{margin-right:10px;}
