.calendar-container[data-v-97141203]{display:flex;flex-direction:column;height:100%;background-color:var(--bg-color);color:var(--text-color);font-family:PingFang SC,Microsoft YaHei,sans-serif;overflow:hidden;-webkit-user-select:none;user-select:none;--rest-color: #ef4444;--work-color: #6b7280}.calendar-header[data-v-97141203]{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background-color:var(--header-bg);border-bottom:1px solid var(--border-color);box-shadow:0 2px 4px #00000005}.year-month[data-v-97141203]{font-size:1.25rem;font-weight:600;color:var(--primary-color);cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s;margin-right:4px}.year-month[data-v-97141203]:hover{background-color:var(--hover-bg)}.year-month.active[data-v-97141203]{background-color:var(--primary-color);color:#fff}.day-diff[data-v-97141203]{font-size:.85rem;color:var(--accent-color);margin-left:8px;padding:2px 8px;background-color:var(--hover-bg);border-radius:4px}.current-info[data-v-97141203]{position:relative;display:flex;align-items:center}.picker-dropdown[data-v-97141203]{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--panel-bg);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:200;min-width:120px;border:1px solid var(--border-color)}.year-picker[data-v-97141203]{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:8px;overflow:hidden}.month-picker[data-v-97141203]{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:8px}.picker-item[data-v-97141203]{padding:8px 12px;text-align:center;cursor:pointer;border-radius:6px;transition:all .2s;font-size:.9rem;color:var(--text-color)}.picker-item[data-v-97141203]:hover{background-color:var(--hover-bg)}.picker-item.active[data-v-97141203]{background-color:var(--primary-color);color:#fff;font-weight:600}.actions[data-v-97141203]{display:flex;align-items:center;gap:12px}.icon-btn[data-v-97141203],.text-btn[data-v-97141203]{background:none;border:1px solid var(--border-color);border-radius:6px;padding:4px 8px;cursor:pointer;color:var(--primary-color);transition:all .2s;display:flex;align-items:center;justify-content:center}.icon-btn[data-v-97141203]:hover,.text-btn[data-v-97141203]:hover,.icon-btn.active[data-v-97141203]{background-color:var(--hover-bg);border-color:var(--primary-color)}.theme-picker[data-v-97141203]{position:relative;display:flex;align-items:center}.theme-options[data-v-97141203]{position:absolute;top:calc(100% + 12px);right:0;background:var(--panel-bg);padding:8px;border-radius:12px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;gap:4px;z-index:100;border:1px solid var(--border-color);min-width:140px}.color-mode-switch[data-v-97141203]{display:flex;gap:4px;padding:2px;background:var(--hover-bg);border-radius:8px;margin-bottom:4px}.mode-btn[data-v-97141203]{flex:1;display:flex;align-items:center;justify-content:center;padding:6px;border:none;background:none;border-radius:6px;cursor:pointer;color:var(--secondary-text);transition:all .2s}.mode-btn[data-v-97141203]:hover{background:#ffffff1a}.mode-btn.active[data-v-97141203]{background:var(--panel-bg);color:var(--primary-color);box-shadow:0 2px 4px #0000001a}.theme-picker[data-v-97141203]:after{display:none}.theme-dot[data-v-97141203]{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .2s;background:var(--dot-bg, #ccc);flex-shrink:0}.theme-option-item[data-v-97141203]{display:flex;align-items:center;gap:8px;padding:4px 8px;cursor:pointer;border-radius:6px;transition:background-color .2s;white-space:nowrap}.theme-option-item[data-v-97141203]:hover{background-color:var(--hover-bg)}.theme-name[data-v-97141203]{font-size:.85rem;color:var(--text-color)}.theme-dot[data-v-97141203]:hover{transform:scale(1.15)}.theme-dot.active[data-v-97141203]{border:2px solid white;box-shadow:0 0 0 2px var(--saved-primary-color)}.settings-wrapper[data-v-97141203]{position:relative}.settings-panel[data-v-97141203]{position:absolute;top:calc(100% + 12px);right:0;width:200px;background:var(--panel-bg);border-radius:12px;padding:16px;z-index:300;border:1px solid var(--border-color);display:flex;flex-direction:column;gap:12px}.settings-section[data-v-97141203]{display:flex;flex-direction:column;gap:8px}.section-title[data-v-97141203]{font-size:.75rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;justify-content:space-between}.version-badge[data-v-97141203]{font-size:.65rem;font-weight:500;padding:1px 6px;background:var(--bg-color);border:1px solid var(--accent-color);border-radius:4px;color:var(--accent-color);letter-spacing:0}.settings-footer[data-v-97141203]{margin-top:4px;padding-top:12px;border-top:1px dashed var(--bg-color);text-align:center}.slogan[data-v-97141203]{font-size:.75rem;color:var(--accent-color);font-style:italic;opacity:.8;position:relative;display:inline-block}.slogan[data-v-97141203]:before,.slogan[data-v-97141203]:after{content:'"';font-family:serif;opacity:.5;font-size:1.2rem;line-height:1;vertical-align:middle;color:var(--primary-color)}.slogan[data-v-97141203]:before{margin-right:2px}.slogan[data-v-97141203]:after{margin-left:2px}.setting-options[data-v-97141203]{display:flex;background:var(--hover-bg);padding:3px;border-radius:8px}.option-btn[data-v-97141203]{flex:1;border:none;background:none;padding:6px;font-size:.85rem;cursor:pointer;border-radius:6px;color:var(--secondary-text);transition:all .2s}.option-btn.active[data-v-97141203]{background:var(--panel-bg);color:var(--primary-color);box-shadow:0 1px 3px #0000001a}.settings-separator[data-v-97141203]{height:1px;background:var(--border-color);margin:4px 0}.about-info[data-v-97141203]{display:flex;flex-direction:column;gap:8px}.about-item[data-v-97141203]{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-color);opacity:.8}.about-icon[data-v-97141203]{color:var(--accent-color);opacity:.8}.about-item.link-item[data-v-97141203]{cursor:pointer;transition:opacity .2s}.about-item.link-item[data-v-97141203]:hover{opacity:.8}.about-item.link-item:hover .link-text[data-v-97141203]{color:var(--primary-color);text-decoration:underline}.link-text[data-v-97141203]{transition:color .2s}.icon-btn.active[data-v-97141203]{background-color:var(--hover-bg);border-color:var(--primary-color);color:var(--primary-color)}.shadow-lg[data-v-97141203]{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.main-content[data-v-97141203]{display:flex;flex:1;overflow:hidden}.calendar-grid-wrapper[data-v-97141203]{flex:1;padding:16px;display:flex;flex-direction:column}.week-header[data-v-97141203]{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:8px;font-weight:600;color:var(--primary-color)}.grid[data-v-97141203]{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr);flex:1;gap:4px}.day-cell[data-v-97141203]{background-color:var(--cell-bg);border-radius:8px;padding:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:all .2s;border:1px solid transparent}.day-cell[data-v-97141203]:hover{background-color:var(--hover-bg);transform:translateY(-2px);box-shadow:0 4px 8px #0000000d}.day-cell.selected[data-v-97141203]{border-color:var(--primary-color);background-color:var(--hover-bg)}.day-cell.today[data-v-97141203]{background-color:var(--primary-color);box-shadow:0 4px 12px var(--primary-color);z-index:1}.day-cell.today .solar-day[data-v-97141203],.day-cell.today .lunar-day[data-v-97141203]{color:#fff!important}.day-cell.other-month[data-v-97141203]{opacity:.3}.solar-day[data-v-97141203]{font-size:1.1rem;font-weight:500;margin-bottom:2px}.day-cell.weekend .solar-day[data-v-97141203]{color:var(--rest-color)}.lunar-day[data-v-97141203]{font-size:.75rem;color:var(--secondary-text)}.lunar-day.festival[data-v-97141203]{color:var(--accent-color);font-weight:500}.holiday-tag[data-v-97141203]{position:absolute;top:4px;right:4px;font-size:.65rem;padding:1px 3px;border-radius:3px;line-height:1}.holiday-tag.rest[data-v-97141203]{background-color:var(--rest-color);color:#fff}.holiday-tag.work[data-v-97141203]{background-color:var(--work-color);color:#fff}.almanac-panel[data-v-97141203]{width:280px;background-color:var(--panel-bg);border-left:none;box-shadow:-1px 0 0 var(--almanac-soft-line);padding:16px;display:flex;flex-direction:column;gap:14px;min-height:0;overflow-y:auto;overflow-x:hidden;--almanac-shadow: 0 2px 6px var(--almanac-shadow-color)}.almanac-header[data-v-97141203]{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--almanac-line);position:relative}.big-day[data-v-97141203]{font-size:3rem;font-weight:700;line-height:1;color:var(--almanac-gold);text-shadow:0 2px 12px var(--almanac-text-shadow-color)}.detail-info[data-v-97141203]{display:flex;flex-direction:column;gap:2px}.solar-full[data-v-97141203]{font-weight:600;font-size:.95rem;color:var(--text-color)}.lunar-full[data-v-97141203]{font-size:.88rem;color:var(--secondary-text)}.almanac-body[data-v-97141203]{display:flex;flex-direction:column;gap:12px;min-height:0}.almanac-board[data-v-97141203]{display:flex;flex-direction:column;gap:0;border-radius:12px;overflow:visible;background:var(--almanac-board-bg);box-shadow:none}.yi-ji[data-v-97141203]{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0;padding-bottom:8px;border-bottom:none}.yi-ji .item[data-v-97141203]{display:flex;flex-direction:column;gap:4px;padding:0;min-height:70px;background:transparent}.yi-ji .item+.item[data-v-97141203]{border-left:none}.yi-ji .label[data-v-97141203]{width:20px;height:20px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--almanac-gold);flex-shrink:0;font-weight:600;border:1px solid currentColor;background:transparent;padding:0;font-size:.72rem;line-height:1;margin-bottom:2px}.yi .label[data-v-97141203]{color:var(--almanac-gold)}.ji .label[data-v-97141203]{color:var(--secondary-text)}.yi-ji .content[data-v-97141203]{font-size:.78rem;line-height:1.4;color:var(--text-color);letter-spacing:.01em;writing-mode:horizontal-tb;display:block;max-height:none;overflow:visible;align-self:stretch}.yi .content[data-v-97141203]{color:var(--almanac-gold)}.ji .content[data-v-97141203]{color:var(--text-color)}.other-details[data-v-97141203]{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;font-size:.85rem;margin:0}.detail-card[data-v-97141203]{display:flex;flex-direction:column;gap:3px;justify-content:center;min-height:auto;padding:7px 9px 8px;background:transparent;border:none}.detail-card.is-compact[data-v-97141203]{min-height:60px}.detail-card.is-highlighted[data-v-97141203]{background:transparent;box-shadow:inset 1px 0 0 var(--almanac-gold-soft);min-height:64px}.detail-card-full[data-v-97141203]{grid-column:1 / -1}.detail-card-ganzhi[data-v-97141203]{min-height:50px;background:var(--almanac-ganzhi-bg)}.detail-card[data-v-97141203]:nth-child(odd):not(.detail-card-full){background:var(--almanac-ganzhi-bg);border-radius:8px}.detail-card-label[data-v-97141203]{font-size:.72rem;line-height:1.2;color:var(--almanac-gold-soft);letter-spacing:.04em}.detail-card-value[data-v-97141203]{margin:0;color:var(--secondary-text);font-weight:500;font-size:.84rem;line-height:1.42;word-break:break-word;white-space:normal;overflow-wrap:anywhere}.shichen-section[data-v-97141203]{padding-top:10px;border-top:none;border-radius:0;overflow:visible;background:transparent;margin-top:6px}.shichen-compact[data-v-97141203]{display:grid;grid-template-columns:repeat(6,1fr);gap:2px;padding:0;background:transparent}.shichen-tag[data-v-97141203]{display:block;font-size:.74rem;text-align:center;padding:6px 0 7px;border-radius:0;line-height:1.28;cursor:default;transition:background-color .15s ease,color .15s ease;border:none;background:var(--panel-bg)}.shichen-tag.is-ji[data-v-97141203]{color:var(--almanac-gold);background-color:var(--almanac-luck-ji-bg);font-weight:600}.shichen-tag.is-xiong[data-v-97141203]{color:var(--secondary-text);background-color:var(--almanac-board-bg)}.shichen-tag.is-current[data-v-97141203]{font-weight:600;background-color:var(--almanac-board-bg);outline:1px solid var(--almanac-gold);outline-offset:-1px}.shichen-tag.is-active[data-v-97141203]{font-weight:600}.shichen-tag.is-active.is-ji[data-v-97141203]{background-color:var(--almanac-board-bg)}.shichen-tag.is-active.is-xiong[data-v-97141203]{background-color:var(--panel-bg)}.shichen-detail[data-v-97141203]{margin-top:0;padding:6px 8px;background:var(--almanac-detail-bg);border-top:none;border-radius:0;font-size:.76rem;line-height:1.32;color:var(--text-color, #374151);height:120px;overflow-y:auto;scrollbar-gutter:stable}.shichen-detail-header[data-v-97141203]{display:flex;align-items:center;gap:6px;margin-bottom:4px;padding-bottom:3px;border-bottom:1px solid var(--almanac-soft-line)}.shichen-detail-name[data-v-97141203]{font-weight:600}.shichen-detail-time[data-v-97141203]{font-size:.68rem;color:var(--secondary-text, #9ca3af)}.shichen-detail-luck[data-v-97141203]{font-size:.7rem;padding:0 5px;border-radius:3px;margin-left:auto}.shichen-detail-luck.is-ji[data-v-97141203]{color:var(--almanac-gold);background:var(--almanac-luck-ji-bg)}.shichen-detail-luck.is-xiong[data-v-97141203]{color:var(--text-color);background:var(--almanac-luck-xiong-bg)}.shichen-detail-body[data-v-97141203]{display:flex;gap:12px;margin-bottom:2px}.shichen-detail-item[data-v-97141203]{display:flex;gap:4px}.shichen-detail-label[data-v-97141203]{color:var(--secondary-text, #9ca3af);flex-shrink:0}.shichen-detail-row[data-v-97141203]{display:flex;gap:4px;margin-top:2px}.shichen-detail-row.is-yi[data-v-97141203]{color:var(--almanac-gold)}.shichen-detail-row.is-ji[data-v-97141203]{color:var(--text-color)}.festival-header[data-v-97141203]{cursor:pointer;-webkit-user-select:none;user-select:none}.festival-count[data-v-97141203]{font-size:.7rem;padding:1px 6px;background:var(--hover-bg);border-radius:10px;color:var(--accent-color);margin-left:auto}.expand-icon[data-v-97141203]{font-size:.6rem;color:var(--secondary-text);margin-left:6px}.festival-tags[data-v-97141203]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.festival-tag[data-v-97141203]{padding:4px 10px;font-size:.75rem;border-radius:12px;cursor:pointer;transition:all .2s;background:var(--hover-bg);color:var(--secondary-text);border:1px solid transparent}.festival-tag[data-v-97141203]:hover{border-color:var(--primary-color)}.festival-tag.active[data-v-97141203]{background:var(--primary-color);color:#fff}.festival-section[data-v-97141203]{padding:12px 0;border-bottom:none}.festival-list[data-v-97141203]{display:flex;flex-wrap:wrap;gap:8px}.festival-item[data-v-97141203]{padding:4px 12px;font-size:.85rem;border-radius:14px;cursor:pointer;transition:all .2s;border:1px solid var(--primary-color);background:color-mix(in srgb,var(--primary-color) 15%,transparent);color:var(--accent-color)}.festival-item[data-v-97141203]:hover{transform:scale(1.05);box-shadow:0 2px 8px #0000001a;background:color-mix(in srgb,var(--primary-color) 25%,transparent)}.festival-list-wrapper[data-v-97141203]{position:relative}.festival-list-panel[data-v-97141203]{position:absolute;top:calc(100% + 12px);right:0;width:230px;max-height:400px;background:var(--panel-bg);border-radius:12px;z-index:300;border:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.festival-list-title[data-v-97141203]{padding:12px 16px;font-size:.95rem;font-weight:600;color:var(--text-color);border-bottom:1px solid var(--border-color);background:var(--panel-bg)}.festival-list-content[data-v-97141203]{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:12px}.festival-month-group[data-v-97141203]{display:flex;flex-direction:column;gap:4px}.festival-month-header[data-v-97141203]{padding:0 4px;font-size:.7rem;font-weight:600;color:var(--secondary-text)}.festival-month-card[data-v-97141203]{background:var(--cell-bg);border-radius:8px;border:1px solid var(--border-color)}.festival-list-item[data-v-97141203]{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;cursor:pointer;transition:background-color .2s;border-top:1px solid var(--border-color)}.festival-list-item[data-v-97141203]:first-child{border-top:none}.festival-list-item[data-v-97141203]:hover{background:var(--hover-bg)}.festival-item-left[data-v-97141203]{display:flex;flex-direction:column;gap:2px}.festival-item-row[data-v-97141203]{display:flex;align-items:center;gap:8px}.festival-item-name[data-v-97141203]{font-size:.9rem;font-weight:500;color:var(--text-color)}.festival-item-date[data-v-97141203]{font-size:.75rem;color:var(--secondary-text)}.festival-rest-badge[data-v-97141203]{font-size:.6rem;padding:1px 5px;border-radius:3px;background:#3b82f6;color:#fff}.festival-item-countdown[data-v-97141203]{font-size:1rem;font-weight:600;color:var(--accent-color);min-width:45px;text-align:right;display:flex;align-items:baseline;justify-content:flex-end}.countdown-num[data-v-97141203]{font-size:1rem;font-weight:600}.countdown-unit[data-v-97141203]{font-size:.7rem;font-weight:400;margin-left:1px;opacity:.8}.festival-item-type[data-v-97141203]{font-size:.65rem;padding:1px 6px;border-radius:4px;background:color-mix(in srgb,var(--primary-color) 20%,transparent);color:var(--accent-color)}.mobile-almanac-overlay[data-v-97141203]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:1200;display:flex;align-items:flex-end;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.mobile-almanac-sheet[data-v-97141203]{width:calc(100% - 16px);margin:0 auto;background:var(--panel-bg, #fff);border-radius:14px;padding:14px 14px calc(14px + env(safe-area-inset-bottom));max-height:84vh;overflow-y:auto}.mobile-almanac-head[data-v-97141203]{display:flex;align-items:center;justify-content:space-between;font-size:1rem}.mobile-almanac-close[data-v-97141203]{border:none;background:transparent;font-size:24px;color:var(--secondary-text)}.mobile-almanac-meta[data-v-97141203]{margin-top:6px;color:var(--secondary-text);font-size:.86rem}.mobile-almanac-festivals[data-v-97141203]{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.mobile-festival-chip[data-v-97141203]{padding:2px 10px;border-radius:999px;border:1px solid var(--primary-color);color:var(--accent-color);font-size:.78rem}.mobile-almanac-block[data-v-97141203]{margin-top:10px;display:flex;gap:8px;font-size:.84rem}.mobile-almanac-block .label[data-v-97141203]{width:20px;color:var(--accent-color)}.mobile-almanac-block .text[data-v-97141203]{color:var(--text-color);line-height:1.45}.mobile-almanac-grid[data-v-97141203]{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-almanac-grid div[data-v-97141203]{display:flex;flex-direction:column;gap:2px;padding:8px;border-radius:8px;background:var(--hover-bg);font-size:.78rem}.mobile-almanac-grid span[data-v-97141203]{color:var(--secondary-text);font-size:.7rem}.mobile-shichen[data-v-97141203]{margin-top:12px}.mobile-shichen-title[data-v-97141203]{font-size:.8rem;color:var(--secondary-text);margin-bottom:6px}.mobile-shichen-grid[data-v-97141203]{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.mobile-shichen-item[data-v-97141203]{text-align:center;font-size:.72rem;padding:6px 0;border-radius:6px;background:var(--hover-bg);cursor:pointer}.mobile-shichen-item.is-ji[data-v-97141203]{color:var(--almanac-gold);background:var(--almanac-luck-ji-bg);font-weight:600}.mobile-shichen-item.is-xiong[data-v-97141203]{color:var(--secondary-text)}.mobile-shichen-item.is-current[data-v-97141203]{outline:1px solid var(--almanac-gold);outline-offset:-1px}.mobile-shichen-item.is-active[data-v-97141203]{box-shadow:inset 0 0 0 1px var(--primary-color)}.mobile-shichen-detail[data-v-97141203]{margin-top:8px;padding:10px;border-radius:8px;background:var(--hover-bg);font-size:.8rem}.mobile-shichen-detail-header[data-v-97141203]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.mobile-shichen-detail-header .name[data-v-97141203]{font-weight:700}.mobile-shichen-detail-header .time[data-v-97141203]{color:var(--secondary-text)}.mobile-shichen-detail-header .badge[data-v-97141203]{margin-left:auto;font-size:.72rem;padding:1px 6px;border-radius:999px}.mobile-shichen-detail-header .badge.is-ji[data-v-97141203]{color:var(--almanac-gold);background:var(--almanac-luck-ji-bg)}.mobile-shichen-detail-header .badge.is-xiong[data-v-97141203]{color:var(--secondary-text)}.mobile-shichen-detail-row[data-v-97141203]{margin-top:4px;color:var(--text-color);line-height:1.4}.mobile-shichen-detail-row.is-yi[data-v-97141203]{color:var(--almanac-gold)}.mobile-shichen-detail-row.is-ji[data-v-97141203]{color:var(--secondary-text)}.festival-card{position:fixed;transform:translate(-50%);background:var(--panel-bg, #ffffff);border-radius:12px;padding:16px;box-shadow:0 8px 24px #00000026;z-index:1000;min-width:180px;max-width:240px;border:1px solid var(--border-color, rgba(0,0,0,.06));animation:festivalCardIn .2s ease-out}@keyframes festivalCardIn{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.festival-card:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid var(--panel-bg, #ffffff)}.festival-card.show-above{transform:translate(-50%) translateY(-100%)}.festival-card.show-above:before{top:auto;bottom:-6px;border-bottom:none;border-top:6px solid var(--panel-bg, #ffffff)}.festival-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.festival-card-name{font-size:1.1rem;font-weight:600;color:var(--text-color, #1f2937)}.festival-card-type{font-size:.65rem;padding:2px 6px;border-radius:8px;white-space:nowrap;background:color-mix(in srgb,var(--primary-color) 20%,transparent);color:var(--accent-color)}.festival-card-date{font-size:.85rem;color:var(--secondary-text, #6b7280);margin-bottom:4px}.festival-card-desc{font-size:.8rem;color:var(--secondary-text, #6b7280);line-height:1.5;margin:8px 0;padding:8px;background:var(--hover-bg, rgba(0,0,0,.03));border-radius:6px}.festival-card-countdown{font-size:.9rem;font-weight:500;color:var(--accent-color, #b45309);margin-bottom:12px;display:flex;align-items:baseline}.festival-card-countdown .countdown-num{font-size:1.1rem;font-weight:600}.festival-card-countdown .countdown-unit{font-size:.75rem;font-weight:400;margin-left:2px;opacity:.8}.festival-card-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:8px 12px;background:var(--primary-color, #A3D5E0);color:#fff;border:none;border-radius:8px;font-size:.85rem;cursor:pointer;transition:all .2s}.festival-card-btn:hover{opacity:.9;transform:scale(1.02)}.dark-mode .festival-card{background:#1e1e1e;border-color:#ffffff14}.dark-mode .festival-card:before{border-bottom-color:#1e1e1e}.dark-mode .festival-card-name{color:#e5e7eb}.dark-mode .festival-card-date{color:#9ca3af}.dark-mode .festival-card-countdown{color:var(--accent-color, #E9BB4E)}@media (max-width: 900px){.calendar-header{flex-wrap:wrap;gap:10px;padding:10px 12px}.current-info{width:100%;flex-wrap:wrap;gap:4px}.year-month{font-size:1.05rem;margin-right:0}.actions{width:100%;justify-content:flex-start;gap:8px;flex-wrap:wrap}.icon-btn,.text-btn{padding:6px 8px}.main-content{flex-direction:column;overflow-y:auto;overflow-x:hidden}.calendar-grid-wrapper{min-height:320px;padding:10px}.week-header{margin-bottom:6px;font-size:.88rem}.grid{gap:3px}.day-cell{min-height:54px;padding:4px;border-radius:6px}.solar-day{font-size:.95rem;margin-bottom:1px}.lunar-day{font-size:.58rem;line-height:1.1;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.holiday-tag{top:2px;right:2px;font-size:.58rem}.almanac-panel{width:100%;box-shadow:0 -1px 0 var(--almanac-soft-line);padding:12px}.festival-list-panel,.theme-options,.settings-panel{right:auto;left:0;max-width:min(92vw,320px)}.festival-list-panel{width:min(92vw,320px);max-height:48vh}}@media (max-width: 420px){.calendar-header{padding:8px 10px}.year-month{font-size:.98rem;padding:3px 6px}.day-diff{font-size:.72rem;padding:1px 6px}.actions{gap:6px}.icon-btn,.text-btn{padding:5px 7px;border-radius:5px}.calendar-grid-wrapper{padding:8px}.day-cell{min-height:48px;padding:3px}.solar-day{font-size:.9rem}.lunar-day{font-size:.56rem;line-height:1.05}.almanac-panel{padding:10px;gap:10px}.big-day{font-size:2.2rem}}.cal-overlay[data-v-7b2612b6]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.cal-modal[data-v-7b2612b6]{width:min(1200px,100%);height:min(850px,92vh);background:#fff;border-radius:16px;border:1px solid rgba(148,163,184,.45);box-shadow:0 20px 40px #0f172a33;overflow:hidden;display:flex;flex-direction:column}.cal-head[data-v-7b2612b6]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(148,163,184,.35)}.cal-head h3[data-v-7b2612b6]{margin:0;font-size:16px}.cal-close[data-v-7b2612b6]{border:none;background:transparent;font-size:24px;line-height:1;cursor:pointer;color:#64748b}.cal-body[data-v-7b2612b6]{flex:1;min-height:0;overflow:hidden}.cal-scale-wrap[data-v-7b2612b6]{width:100%;height:100%}@media (min-width: 769px){.cal-head[data-v-7b2612b6]{display:none}.cal-scale-wrap[data-v-7b2612b6]{width:113.64%;height:113.64%;transform:scale(.88);transform-origin:top center;margin-left:-6.82%}}@media (max-width: 768px){.cal-overlay[data-v-7b2612b6]{align-items:flex-end;padding:8px}.cal-modal[data-v-7b2612b6]{width:100%;height:min(94vh,900px);border-radius:14px 14px 0 0}.cal-head[data-v-7b2612b6]{padding:10px 12px}.cal-head h3[data-v-7b2612b6]{font-size:15px}}:root{--text: #0f172a;--text-soft: #334155;--muted: #64748b;--accent: #6366f1;--accent-2: #7c3aed;--accent-cyan: #06b6d4;--border: rgba(148, 163, 184, .35);--surface: rgba(255, 255, 255, .88);--surface-solid: #ffffff;--font: "Plus Jakarta Sans", system-ui, "PingFang SC", "Microsoft YaHei", sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 8px 24px rgba(15, 23, 42, .08);--shadow-lg: 0 20px 50px rgba(99, 102, 241, .12);--radius: 16px;--radius-sm: 10px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);color:var(--text);line-height:1.65;min-height:100vh;background:#f1f5f9;background-image:radial-gradient(ellipse 100% 80% at 50% -30%,rgba(99,102,241,.18),transparent 55%),radial-gradient(ellipse 70% 50% at 100% 0%,rgba(168,85,247,.12),transparent 50%),radial-gradient(ellipse 60% 45% at 0% 100%,rgba(34,211,238,.14),transparent 45%),linear-gradient(165deg,#f8fafc,#eef2ff 40%,#f5f3ff);background-attachment:fixed}.layout{position:relative;min-height:100vh;z-index:0;display:flex;flex-direction:column}.layout-bg{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:.55;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%236366f1' stroke-opacity='0.06'%3E%3Cpath d='M0 40h80M40 0v80'/%3E%3C/g%3E%3C/svg%3E")}.top{position:sticky;top:0;z-index:100;width:100%;box-sizing:border-box;padding:.65rem clamp(1rem,4vw,1.5rem);margin:0;border-radius:0 0 var(--radius) var(--radius);background:#ffffffb8;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(255,255,255,.85);border-top:none;box-shadow:var(--shadow-md)}.top-inner{display:flex;align-items:center;gap:clamp(.75rem,2vw,1.5rem);width:100%;min-width:0}.cat-strip-outer{flex:1;min-width:0;position:relative}.cat-strip-scroll{display:flex;align-items:center;gap:.35rem;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:.15rem 15px;scrollbar-width:none;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(90deg,transparent 0%,#000 16px,#000 calc(100% - 16px),transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 16px,#000 calc(100% - 16px),transparent 100%);mask-size:100% 100%;-webkit-mask-size:100% 100%}.cat-strip-scroll::-webkit-scrollbar{display:none;height:0}.cat-chip{flex-shrink:0;white-space:nowrap;padding:.28rem .65rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.02em;text-decoration:none;color:var(--muted);background:transparent;border:1px solid rgba(148,163,184,.35);transition:color .2s ease,background .2s ease,border-color .2s ease}.cat-chip:hover{color:var(--accent);border-color:#6366f159;background:#6366f10f}.cat-chip-active{color:var(--accent)!important;border-color:#6366f18c!important;background:#6366f11a!important;box-shadow:none}@media (max-width: 900px){.top-inner{flex-wrap:wrap;row-gap:.55rem}.brand{order:1}.nav{order:2;margin-left:auto}.cat-strip-outer{order:3;flex:0 0 100%;width:100%;max-width:100%;margin-top:.35rem}.cat-strip-scroll{mask-image:none;-webkit-mask-image:none;padding-left:0;padding-right:0}}@media (max-width: 720px){.top{padding:.55rem .85rem}.nav{margin-left:auto;flex:0 1 auto;max-width:calc(100% - 7.2rem);justify-content:flex-end;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.nav::-webkit-scrollbar{display:none}.nav-link,.nav-cta,.nav-user-btn,.nav-calendar-btn{flex-shrink:0;font-size:.78rem;padding:.28rem .56rem}.nav-user-btn{max-width:5.6rem;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.nav-user-menu{right:auto;left:0}}.brand{display:inline-flex;align-items:center;gap:.55rem;flex-shrink:0;text-decoration:none;color:var(--text);font-weight:800;font-size:1rem;letter-spacing:-.03em}.brand-mark{width:1.85rem;height:1.85rem;border-radius:10px;background:linear-gradient(135deg,#6366f1,#a855f7,#22d3ee);box-shadow:0 4px 14px #6366f173}.brand-text{background:linear-gradient(120deg,#1e293b,#6366f1 45%,#7c3aed);-webkit-background-clip:text;background-clip:text;color:transparent}.nav{display:flex;align-items:center;gap:.4rem;flex-wrap:nowrap;justify-content:flex-end;flex-shrink:0}.nav-link{padding:.32rem .7rem;border-radius:8px;font-size:.84rem;font-weight:600;color:var(--text-soft);text-decoration:none;transition:background .2s ease,color .2s ease}.nav-link:hover{color:var(--accent);background:#6366f114}.nav-link.router-link-active{color:var(--accent);background:#6366f11a;box-shadow:none}.nav-link-muted{color:var(--muted)}.nav-cta{padding:.32rem .75rem;border-radius:8px;font-size:.84rem;font-weight:700;color:var(--accent);text-decoration:none;background:#ffffff8c;border:1px solid rgba(99,102,241,.38);box-shadow:none;transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}.nav-cta:hover,.nav-cta:focus-visible{color:#fff;outline:none;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:transparent;box-shadow:0 4px 14px #6366f166;transform:translateY(-1px)}.nav-cta.router-link-active{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:transparent;box-shadow:0 2px 10px #6366f159}.nav-user-wrap{position:relative}.nav-user-btn{border:1px solid rgba(99,102,241,.12);background:#6366f10f;cursor:pointer;font:inherit;font-size:.8rem;font-weight:700;color:var(--text);max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:.32rem .65rem;border-radius:8px}.nav-user-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:134px;background:#fffffffa;border:1px solid rgba(148,163,184,.35);border-radius:10px;box-shadow:var(--shadow-md);padding:6px;z-index:130}.nav-user-item{width:100%;border:none;background:transparent;text-align:left;font:inherit;font-size:.82rem;color:var(--text-soft);padding:.42rem .5rem;border-radius:8px;cursor:pointer}.nav-user-item:hover{background:#6366f114;color:var(--accent)}.nav-user-item-danger:hover{background:#dc262614;color:#dc2626}.nav-calendar-btn{border:1px solid rgba(99,102,241,.25);background:#6366f10f;cursor:pointer}.pwd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:16px}.pwd-dialog{width:min(420px,100%);background:#fff;border-radius:14px;border:1px solid rgba(148,163,184,.35);box-shadow:var(--shadow-lg);padding:1rem 1rem .75rem}.pwd-dialog h3{margin:0 0 .85rem;font-size:1rem}.pwd-actions{display:flex;justify-content:flex-end;gap:.5rem}.main{max-width:880px;margin:0 auto;padding:2rem 1.25rem 4rem;width:100%}@media (min-width: 900px){.main{padding-top:2.5rem}}.main.main-editor{max-width:none;margin:0;padding:0;flex:1;display:flex;flex-direction:column;min-height:0;width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1.1rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-solid);cursor:pointer;font-size:.88rem;font-weight:600;font-family:inherit;color:var(--text-soft);text-decoration:none;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:#6366f159}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{border:none;color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6 55%,#7c3aed);box-shadow:0 4px 18px #6366f173}.btn-primary:hover:not(:disabled){box-shadow:0 8px 28px #6366f180}.btn-ghost{background:transparent;border-color:#6366f173;color:var(--accent)}.field{margin-bottom:1.1rem}.field label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem}.field input,.field textarea,.field select{width:100%;padding:.65rem .85rem;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;background:#fffffff2;transition:border-color .2s ease,box-shadow .2s ease}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:#6366f18c;box-shadow:0 0 0 3px #6366f133}.field textarea{min-height:200px;resize:vertical}.err{background:linear-gradient(135deg,#fef2f2,#fff1f2);border:1px solid rgba(248,113,113,.45);color:#b91c1c;padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;margin-bottom:1rem}.muted{color:var(--muted);font-size:.88rem}.card{background:var(--surface);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.95);border-radius:var(--radius);padding:1.35rem;margin-bottom:1rem;box-shadow:var(--shadow-md);transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card.no-lift:hover{transform:none;box-shadow:var(--shadow-md)}h1.page-title{font-size:1.65rem;font-weight:800;letter-spacing:-.03em;margin:0 0 1.25rem;color:var(--text)}.auth-shell{max-width:420px;margin:0 auto;padding:2.5rem 1.75rem}.auth-card{background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:var(--radius);border:1px solid rgba(255,255,255,.95);padding:2rem 1.75rem;box-shadow:var(--shadow-lg)}.auth-card h1.page-title{text-align:center;margin-bottom:1.5rem;background:linear-gradient(120deg,#1e293b,#6366f1);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-card .btn-primary{width:100%;padding-top:.7rem;padding-bottom:.7rem;font-size:.95rem}.auth-card .muted a{color:var(--accent);font-weight:600;text-decoration:none}.auth-card .muted a:hover{text-decoration:underline}.data-table-wrap{margin-top:1rem;border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;background:var(--surface-solid);box-shadow:var(--shadow-md)}.data-table{width:100%;border-collapse:collapse;font-size:.88rem}.data-table thead{background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.data-table th{text-align:left;padding:.75rem 1rem;font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--border)}.data-table td{padding:.85rem 1rem;border-bottom:1px solid rgba(148,163,184,.2);vertical-align:middle}.data-table tbody tr{transition:background .15s ease}.data-table tbody tr:hover{background:#6366f10a}.data-table tbody tr:last-child td{border-bottom:none}.data-table a{color:var(--text);font-weight:600;text-decoration:none}.data-table a:hover{color:var(--accent)}.btn-danger-ghost{color:#dc2626!important;border-color:#dc262659!important;background:#fef2f299!important}.btn-danger-ghost:hover:not(:disabled){background:#fef2f2!important}.markdown-body{line-height:1.8;word-break:break-word;font-size:1rem}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin:1.25em 0 .5em;line-height:1.35;font-weight:800;letter-spacing:-.02em;color:var(--text)}.markdown-body h1{font-size:1.35rem}.markdown-body h2{font-size:1.2rem}.markdown-body h3{font-size:1.08rem}.markdown-body p{margin:.85em 0}.markdown-body ul,.markdown-body ol{margin:.85em 0;padding-left:1.5rem}.markdown-body li{margin:.35em 0}.markdown-body pre{background:linear-gradient(145deg,#1e1b4b,#312e81);color:#e0e7ff;border:1px solid rgba(255,255,255,.08);padding:1rem 1.15rem;border-radius:12px;overflow:auto;font-size:.86em;font-family:var(--mono);box-shadow:inset 0 1px #ffffff0f}.markdown-body code{background:#6366f11f;color:#5b21b6;padding:.15em .4em;border-radius:6px;font-size:.88em;font-family:var(--mono)}.markdown-body pre code{background:none;color:inherit;padding:0;font-size:inherit}.markdown-body blockquote{border-left:4px solid;border-image:linear-gradient(180deg,#6366f1,#a855f7) 1;margin:1.1em 0;padding:.35em 0 .35em 1.1rem;color:var(--muted);background:#6366f10d;border-radius:0 10px 10px 0}.markdown-body a{color:var(--accent);font-weight:600;text-underline-offset:3px}.markdown-body img{max-width:100%;height:auto;border-radius:12px;box-shadow:var(--shadow-md)}.markdown-body table{border-collapse:collapse;width:100%;font-size:.9em;border-radius:10px;overflow:hidden;box-shadow:var(--shadow-sm)}.markdown-body th,.markdown-body td{border:1px solid rgba(148,163,184,.35);padding:.45rem .65rem}.markdown-body th{background:#f8fafc;font-weight:700}.cat-pill{display:inline-block;padding:.2rem .65rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:linear-gradient(135deg,#6366f126,#a855f71f);color:#5b21b6;border:1px solid rgba(99,102,241,.25)}@media (prefers-reduced-motion: reduce){.card:hover,.btn:hover:not(:disabled),.nav-cta:hover,.nav-cta:focus-visible{transform:none}}.home[data-v-d7ceafeb]{animation:homeIn-d7ceafeb .6s ease both}@keyframes homeIn-d7ceafeb{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.home-hero[data-v-d7ceafeb]{margin-bottom:2.5rem;text-align:center;padding:.5rem 0 1rem}.home-hero-kicker[data-v-d7ceafeb]{font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 .75rem}.home-hero-title[data-v-d7ceafeb]{font-size:clamp(1.65rem,4vw,2.25rem);font-weight:800;line-height:1.2;margin:0 0 .75rem;letter-spacing:-.03em;color:var(--text)}.home-hero-gradient[data-v-d7ceafeb]{background:linear-gradient(120deg,#6366f1,#a855f7,#22d3ee);-webkit-background-clip:text;background-clip:text;color:transparent}.home-hero-desc[data-v-d7ceafeb]{margin:0 auto;max-width:28rem;font-size:.95rem;color:var(--muted);line-height:1.65}.home-search[data-v-d7ceafeb]{margin:1.75rem auto 0;max-width:min(32rem,100%);text-align:left}.home-search-label[data-v-d7ceafeb]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.home-search-row[data-v-d7ceafeb]{display:flex;align-items:stretch;gap:.5rem;flex-wrap:wrap}.home-search-input[data-v-d7ceafeb]{flex:1 1 12rem;min-width:0;padding:.55rem .85rem;font-size:.92rem;border-radius:999px;border:1px solid rgba(148,163,184,.45);background:#ffffffd9;color:var(--text);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.home-search-input[data-v-d7ceafeb]::placeholder{color:var(--muted);opacity:.85}.home-search-input[data-v-d7ceafeb]:focus{border-color:#6366f18c;box-shadow:0 0 0 3px #6366f126}.home-search-btn[data-v-d7ceafeb],.home-search-clear[data-v-d7ceafeb]{flex-shrink:0;padding:.55rem 1.1rem;font-size:.88rem;font-weight:600;border-radius:999px}.home-search-btn[data-v-d7ceafeb]{color:#fff;border:none;background:linear-gradient(135deg,#6366f1,#7c3aed);box-shadow:0 2px 12px #6366f159;cursor:pointer}.home-search-btn[data-v-d7ceafeb]:hover{filter:brightness(1.05)}.home-search-clear[data-v-d7ceafeb]{color:var(--muted);border:1px solid rgba(148,163,184,.45);background:#ffffffb3;cursor:pointer}.home-search-clear[data-v-d7ceafeb]:hover{color:var(--text);border-color:#94a3b8a6}.home-loading[data-v-d7ceafeb]{display:flex;justify-content:center;gap:.4rem;padding:3rem}.home-loading-dot[data-v-d7ceafeb]{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#a855f7);animation:bounce-d7ceafeb 1.2s ease-in-out infinite}.home-loading-dot[data-v-d7ceafeb]:nth-child(2){animation-delay:.15s}.home-loading-dot[data-v-d7ceafeb]:nth-child(3){animation-delay:.3s}@keyframes bounce-d7ceafeb{0%,80%,to{transform:scale(.65);opacity:.5}40%{transform:scale(1);opacity:1}}.home-feed[data-v-d7ceafeb]{display:flex;flex-direction:column;gap:1.25rem}.home-feed .card[data-v-d7ceafeb]{margin-bottom:0}.home-card[data-v-d7ceafeb]{text-align:left}.home-card-top[data-v-d7ceafeb]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.home-card-meta[data-v-d7ceafeb]{font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}.home-card-title[data-v-d7ceafeb]{margin:0 0 .65rem;font-size:1.2rem;font-weight:700;line-height:1.35;letter-spacing:-.02em}.home-card-title a[data-v-d7ceafeb]{color:inherit;text-decoration:none;transition:color .2s ease}.home-card-title a[data-v-d7ceafeb]:hover{color:var(--accent-2)}.home-card-excerpt[data-v-d7ceafeb]{margin:0 0 1rem;font-size:.92rem;line-height:1.65;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.home-card-foot[data-v-d7ceafeb]{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.home-card-author[data-v-d7ceafeb]{font-size:.82rem;font-weight:600;color:var(--text-soft)}.home-card-cta[data-v-d7ceafeb]{display:inline-flex;align-items:center;gap:.35rem;font-size:.88rem;font-weight:600;color:#fff;text-decoration:none;padding:.45rem 1rem;border-radius:999px;background:linear-gradient(135deg,#6366f1,#8b5cf6 55%,#7c3aed);box-shadow:0 4px 16px #6366f159;transition:transform .2s ease,box-shadow .2s ease}.home-card-cta[data-v-d7ceafeb]:hover{transform:translateY(-1px);box-shadow:0 8px 24px #6366f173}.home-card-cta-arrow[data-v-d7ceafeb]{transition:transform .2s ease}.home-card-cta:hover .home-card-cta-arrow[data-v-d7ceafeb]{transform:translate(3px)}.home-empty[data-v-d7ceafeb]{text-align:center;padding:3rem 1rem;color:var(--muted);font-size:.95rem}.home-pager[data-v-d7ceafeb]{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:2.5rem;flex-wrap:wrap}.home-pager-info[data-v-d7ceafeb]{font-size:.85rem;font-weight:600;color:var(--muted);min-width:5rem;text-align:center;font-variant-numeric:tabular-nums}.btn-pager[data-v-d7ceafeb]{min-width:5.5rem}@media (prefers-reduced-motion: reduce){.home[data-v-d7ceafeb],.home-loading-dot[data-v-d7ceafeb]{animation:none}}.post-page[data-v-5c9b3fd5]{animation:fadeUp-5c9b3fd5 .5s ease both}@keyframes fadeUp-5c9b3fd5{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.post-back[data-v-5c9b3fd5]{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:1.5rem;font-size:.88rem;font-weight:600;color:var(--muted);text-decoration:none;padding:.35rem .85rem;border-radius:999px;background:#fff9;border:1px solid rgba(255,255,255,.85);box-shadow:var(--shadow-sm);transition:color .2s ease,transform .2s ease,box-shadow .2s ease}.post-back[data-v-5c9b3fd5]:hover{color:var(--accent-2);transform:translate(-2px);box-shadow:var(--shadow-md)}.post-back-icon[data-v-5c9b3fd5]{opacity:.85}.post-loading[data-v-5c9b3fd5]{color:var(--muted);font-size:.9rem;padding:2rem 0;text-align:center}.post-article[data-v-5c9b3fd5]{padding:2rem 1.75rem}@media (min-width: 640px){.post-article[data-v-5c9b3fd5]{padding:2.5rem 2.25rem}}.post-header[data-v-5c9b3fd5]{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(148,163,184,.2)}.post-cat-wrap[data-v-5c9b3fd5]{margin-bottom:.75rem}.post-title[data-v-5c9b3fd5]{font-size:clamp(1.5rem,4vw,2rem);font-weight:800;line-height:1.25;margin:0 0 .75rem;letter-spacing:-.03em;color:var(--text)}.post-meta[data-v-5c9b3fd5]{margin:0;font-size:.88rem;color:var(--muted);font-variant-numeric:tabular-nums}.post-meta-sep[data-v-5c9b3fd5]{margin:0 .35rem;opacity:.6}.post-body[data-v-5c9b3fd5]{font-size:1.02rem;max-width:100%}@media (prefers-reduced-motion: reduce){.post-page[data-v-5c9b3fd5]{animation:none}}.admin-posts[data-v-ff4522a4]{animation:in-ff4522a4 .45s ease both}@keyframes in-ff4522a4{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.admin-head[data-v-ff4522a4]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.admin-loading[data-v-ff4522a4]{padding:2rem 0;text-align:center}.admin-empty[data-v-ff4522a4]{padding:2.5rem 1rem;text-align:center;background:#ffffff80;border-radius:var(--radius);border:1px dashed var(--border)}.status-pill[data-v-ff4522a4]{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700}.status-on[data-v-ff4522a4]{background:#22c55e1f;color:#15803d}.status-off[data-v-ff4522a4]{background:#94a3b833;color:var(--muted)}.delete-overlay[data-v-ff4522a4]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px}.delete-dialog[data-v-ff4522a4]{width:min(440px,100%);background:#fffffffa;border:1px solid rgba(148,163,184,.35);border-radius:14px;box-shadow:var(--shadow-lg);padding:1rem}.delete-title[data-v-ff4522a4]{margin:0;font-size:1.05rem;font-weight:800}.delete-desc[data-v-ff4522a4]{margin:.7rem 0 .9rem;color:var(--text-soft);line-height:1.6}.delete-actions[data-v-ff4522a4]{display:flex;justify-content:flex-end;gap:.55rem}.editor-page[data-v-55d2a6e5]{flex:1;display:flex;flex-direction:column;min-height:0;width:100%;animation:edIn-55d2a6e5 .4s ease both}@keyframes edIn-55d2a6e5{0%{opacity:0}to{opacity:1}}.editor-form[data-v-55d2a6e5]{flex:1;display:flex;flex-direction:column;min-height:0;min-height:calc(100dvh - 88px)}.editor-toolbar[data-v-55d2a6e5]{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.85rem 1.25rem;background:linear-gradient(180deg,#fffffff2,#f8fafceb);border-bottom:1px solid rgba(148,163,184,.25);box-shadow:0 4px 20px #0f172a0a;z-index:5}.editor-toolbar-left[data-v-55d2a6e5]{display:flex;align-items:center;gap:1rem;min-width:0}.editor-back[data-v-55d2a6e5]{flex-shrink:0;font-size:.85rem;font-weight:700;color:var(--muted);text-decoration:none;padding:.4rem .85rem;border-radius:999px;background:#fffc;border:1px solid rgba(148,163,184,.35);transition:color .2s ease,border-color .2s ease}.editor-back[data-v-55d2a6e5]:hover{color:var(--accent);border-color:#6366f173}.editor-toolbar-titles[data-v-55d2a6e5]{min-width:0}.editor-toolbar-h1[data-v-55d2a6e5]{margin:0;font-size:1.15rem;font-weight:800;letter-spacing:-.03em;color:var(--text)}.editor-toolbar-sub[data-v-55d2a6e5]{margin:.15rem 0 0;font-size:.72rem;font-weight:600;color:var(--muted);letter-spacing:.02em}.editor-toolbar-right[data-v-55d2a6e5]{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.editor-toolbar-label[data-v-55d2a6e5]{display:flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.editor-status-select[data-v-55d2a6e5]{padding:.45rem .75rem;border-radius:10px;border:1px solid var(--border);font:inherit;font-size:.88rem;font-weight:600;background:#fff;cursor:pointer}.editor-status-select[data-v-55d2a6e5]:focus{outline:none;border-color:#6366f18c;box-shadow:0 0 0 3px #6366f126}.editor-save-btn[data-v-55d2a6e5]{padding-left:1.25rem;padding-right:1.25rem;font-weight:700}.editor-err[data-v-55d2a6e5]{margin:0 1.25rem}.editor-meta[data-v-55d2a6e5]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem;padding:1rem 1.25rem 1.1rem;background:#ffffff8c;border-bottom:1px solid rgba(148,163,184,.2)}.editor-meta-span2[data-v-55d2a6e5]{grid-column:span 2}.editor-meta-field label[data-v-55d2a6e5]{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:.35rem}.editor-meta-hint[data-v-55d2a6e5]{font-weight:500;text-transform:none;letter-spacing:0;font-size:.68rem;opacity:.85}.editor-meta-field input[data-v-55d2a6e5],.editor-excerpt[data-v-55d2a6e5]{width:100%;padding:.55rem .75rem;border:1px solid var(--border);border-radius:10px;font:inherit;background:#fffffff2}.editor-meta-field input[data-v-55d2a6e5]:focus,.editor-excerpt[data-v-55d2a6e5]:focus{outline:none;border-color:#6366f180;box-shadow:0 0 0 3px #6366f11f}.editor-excerpt[data-v-55d2a6e5]{resize:vertical;min-height:3rem}.category-row[data-v-55d2a6e5]{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.category-select[data-v-55d2a6e5]{flex:1;min-width:8rem;padding:.55rem .75rem;border:1px solid var(--border);border-radius:10px;font:inherit;font-weight:600;background:#fff}.btn-cat-new[data-v-55d2a6e5]{padding:.45rem .75rem;font-size:.82rem}.editor-split[data-v-55d2a6e5]{flex:1;display:grid;grid-template-columns:1fr 1px 1fr;min-height:0;min-height:min(72vh,calc(100vh - 200px))}.editor-split-gutter[data-v-55d2a6e5]{background:linear-gradient(180deg,transparent,rgba(99,102,241,.15) 20%,rgba(168,85,247,.12) 80%,transparent)}.editor-pane[data-v-55d2a6e5]{display:flex;flex-direction:column;min-width:0;min-height:0;background:#ffffffa6;--editor-toolbar-row-height: 2.56rem}.editor-pane--write[data-v-55d2a6e5]{border-right:none}.editor-pane-bar[data-v-55d2a6e5]{flex-shrink:0;display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(90deg,rgba(99,102,241,.08),transparent);border-bottom:1px solid rgba(148,163,184,.25)}.editor-md-toolbar[data-v-55d2a6e5]{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;padding:.4rem .65rem .5rem;min-height:var(--editor-toolbar-row-height);background:#eceef2;border-bottom:1px solid rgba(100,116,139,.35)}.md-tool[data-v-55d2a6e5]{min-width:2rem;height:2rem;padding:0 .35rem;margin:0;border:none;border-radius:6px;font-size:.8rem;font-weight:700;font-family:inherit;color:#1e293b;background:transparent;cursor:pointer;line-height:1;transition:background .15s ease,color .15s ease}.md-tool[data-v-55d2a6e5]:hover:not(:disabled){background:#ffffffd9;color:#4338ca}.md-tool[data-v-55d2a6e5]:disabled{opacity:.55;cursor:not-allowed}.md-tool-i[data-v-55d2a6e5]{font-style:italic;font-weight:600}.md-tool-strike-inner[data-v-55d2a6e5]{text-decoration:line-through;font-weight:700}.md-tool-upload[data-v-55d2a6e5]{font-size:.95rem;font-weight:600}.editor-upload-err[data-v-55d2a6e5]{margin:0;padding:.35rem .75rem;font-size:.78rem;font-weight:600;color:#b91c1c;background:#fee2e2e6;border-bottom:1px solid rgba(248,113,113,.35)}.visually-hidden[data-v-55d2a6e5]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.editor-pane-bar--preview[data-v-55d2a6e5]{background:linear-gradient(90deg,rgba(34,211,238,.08),transparent)}.editor-preview-toolbar-spacer[data-v-55d2a6e5]{flex-shrink:0;height:var(--editor-toolbar-row-height);background:#eceef2;border-bottom:1px solid rgba(100,116,139,.35);height:3rem}.editor-pane-badge[data-v-55d2a6e5]{font-size:.65rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:.2rem .5rem;border-radius:6px;background:#6366f133;color:#4338ca}.editor-pane-badge--preview[data-v-55d2a6e5]{background:#06b6d433;color:#0e7490}.editor-pane-hint[data-v-55d2a6e5]{font-size:.75rem;color:var(--muted);font-weight:600}.editor-pane-body[data-v-55d2a6e5]{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.editor-textarea[data-v-55d2a6e5]{flex:1;width:100%;min-height:280px;padding:1rem 1.1rem;border:none;resize:none;font-family:var(--mono);font-size:.9rem;line-height:1.65;color:#1e1b4b;background:linear-gradient(165deg,#fafbff,#f8fafc);box-shadow:inset 0 0 0 1px #94a3b81f}.editor-textarea[data-v-55d2a6e5]:focus{outline:none;box-shadow:inset 0 0 0 2px #6366f159}.editor-preview-scroll[data-v-55d2a6e5]{overflow:auto;padding:1rem 1.15rem 1.5rem;background:linear-gradient(165deg,#fffffffa,#f8fafcf2);box-shadow:inset 0 0 0 1px #94a3b81f}.editor-md-preview[data-v-55d2a6e5]{font-size:.95rem;max-width:none;width:100%;margin:0}.modal-title[data-v-55d2a6e5]{margin:0 0 1rem;font-size:1.1rem;font-weight:800}.modal-backdrop[data-v-55d2a6e5]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-card[data-v-55d2a6e5]{background:#fffffffa;border-radius:var(--radius);border:1px solid rgba(255,255,255,.95);padding:1.5rem;max-width:420px;width:100%;box-shadow:var(--shadow-lg)}.modal-actions[data-v-55d2a6e5]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}@media (max-width: 900px){.editor-split[data-v-55d2a6e5]{display:flex;flex-direction:column;flex:1;min-height:0}.editor-split-gutter[data-v-55d2a6e5]{display:none}.editor-pane--write[data-v-55d2a6e5]{min-height:42vh;flex:1}.editor-pane--read[data-v-55d2a6e5]{min-height:42vh;flex:1;border-top:1px solid rgba(148,163,184,.3)}.editor-meta[data-v-55d2a6e5]{grid-template-columns:1fr}.editor-meta-span2[data-v-55d2a6e5]{grid-column:span 1}.editor-toolbar-h1[data-v-55d2a6e5]{font-size:1rem}.editor-toolbar-sub[data-v-55d2a6e5]{display:none}}@media (prefers-reduced-motion: reduce){.editor-page[data-v-55d2a6e5]{animation:none}}
