@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.5s forwards fadeIn}.slide-in-top{animation:.5s forwards slideInFromTop}.slide-in-bottom{animation:.5s forwards slideInFromBottom}.header{transition:height .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.desktop-nav a:after{transition:width .3s cubic-bezier(.4,0,.2,1)}.mobile-menu{transition:opacity .3s cubic-bezier(.4,0,.2,1),visibility .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.hamburger-menu span{transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1)}
.header{z-index:1000;box-sizing:border-box;background:#fff;height:60px;margin:0;padding:0 4%;transition:all .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:0;box-shadow:0 2px 8px #0000001a;width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important}.header.compact{height:50px;box-shadow:0 2px 10px #00000026}.header-container{box-sizing:border-box;justify-content:space-between;align-items:center;width:100%;height:100%;margin:0;padding:0;display:flex}.brand{align-items:center;gap:10px;display:flex}.logo{width:auto;height:40px;transition:all .3s cubic-bezier(.4,0,.2,1)}.header.compact .logo{height:30px}.brand-name{margin:0;font-size:24px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);color:purple!important}.header.compact .brand-name{font-size:18px}.desktop-nav{display:flex}.desktop-nav ul{gap:25px;margin:0;padding:0;list-style:none;display:flex}.desktop-nav li{margin:0}.desktop-nav a{color:#666;border-radius:4px;padding:8px 12px;font-size:16px;text-decoration:none;transition:all .2s;position:relative}.desktop-nav a:hover{color:purple}.desktop-nav a.active{color:purple;font-weight:500}.desktop-nav a.active:after{content:"";background-color:#6c5ce7;border-radius:2px;width:100%;height:2px;position:absolute;bottom:-5px;left:0}.mobile-nav{display:none;position:relative}.hamburger-menu{cursor:pointer;background:0 0;border:none;outline:none;flex-direction:column;gap:6px;padding:5px;display:flex}.hamburger-menu span{background-color:#666;width:25px;height:2px;transition:all .3s;display:block}.hamburger-menu.active span:first-child{transform:rotate(45deg)translate(5px,5px)}.hamburger-menu.active span:nth-child(2){opacity:0}.hamburger-menu.active span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.mobile-menu{opacity:0;visibility:hidden;z-index:1000;background-color:#fff;border-radius:0 0 4px 4px;width:250px;padding:15px;transition:all .3s;position:absolute;top:100%;right:0;transform:translateY(-10px);box-shadow:0 5px 10px #0000001a}.mobile-menu.open{opacity:1;visibility:visible;transform:translateY(0)}.mobile-menu ul{margin:0;padding:0;list-style:none}.mobile-menu li{border-bottom:1px solid #f0f0f0;margin:10px 0}.mobile-menu li:last-child{border-bottom:none}.mobile-menu a{color:#666;padding:10px 0;font-size:16px;text-decoration:none;transition:all .2s;display:block}.mobile-menu a:hover,.mobile-menu a.active{color:#6c5ce7}@media (max-width:768px){.desktop-nav{display:none}.mobile-nav{display:block}.brand-name{font-size:18px}.logo{height:30px}.header{height:60px;padding:0 4%}.header.compact{height:50px;padding:0 4%}.mobile-menu{box-sizing:border-box;width:200px;max-height:calc(100vh - 60px);left:auto;right:0;overflow-y:auto}.mobile-menu ul{flex-direction:column;width:100%;display:flex}.mobile-menu li{width:100%;margin:8px 0;padding:0}.mobile-menu a{box-sizing:border-box;text-align:left;width:100%;padding:12px 15px;display:block}}@media (max-width:480px){.brand-name{font-size:16px}.logo{height:25px}.header{height:50px;padding:0 3%}.header.compact{height:45px}.mobile-menu{width:180px}.mobile-menu a{padding:10px 12px;font-size:15px}.hamburger-menu{padding:3px}.hamburger-menu span{width:22px}}
.footer{box-sizing:border-box;background-color:#f8f9fa;width:100vw;margin:0 calc(50% - 50vw);padding:10px 4%}.footer-container{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:0;max-width:1200px;margin:0 auto;padding-bottom:0;display:grid}.footer-contact{flex-direction:column;gap:20px;display:flex}.footer-contact .brand{align-items:center;gap:8px;display:flex}.footer-logo{width:26px;height:26px}.footer-contact .brand h2{color:purple;margin:0;font-size:16px}.contact-info{flex-direction:column;gap:15px;display:flex}.contact-info h3{color:#333;text-align:left;margin:0;font-size:18px}.email-container{align-items:center;gap:8px;display:flex}.email{color:#666;font-size:14px}.copy-button{cursor:pointer;color:#4169e1;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:inline-flex}.copy-button:hover{background:#4169e11a;transform:scale(1.05)}.copy-button:active{transform:scale(.95)}.copy-button svg{width:16px;height:16px}.copy-tooltip{color:#fff;white-space:nowrap;z-index:1000;background:#000c;border-radius:4px;padding:6px 12px;font-size:12px;animation:2s forwards fadeInOut;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.copy-tooltip:after{content:"";border:4px solid #0000;border-top-color:#000c;position:absolute;top:100%;left:50%;transform:translate(-50%)}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,10px)}20%{opacity:1;transform:translate(-50%)}80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-10px)}}.social-links{gap:12px;margin-top:10px;display:flex}.social-link{color:#666;transition:color .2s}.social-link:hover{color:purple}.social-link svg{width:16px;height:16px}.footer-section h3{color:#333;margin-bottom:20px;font-size:18px;font-weight:600}.footer-section ul{margin:0;padding:0;list-style:none}.footer-section li{color:#666;cursor:pointer;margin-bottom:10px;font-size:14px;transition:color .2s}.footer-section li:hover{color:purple}.footer-section ul li a{color:inherit;cursor:pointer;text-decoration:none}.footer-section ul li a:hover{opacity:.8}.footer-bottom{text-align:center;border-top:1px solid #ddd;padding-top:20px}.footer-bottom p{color:#888;margin:0;font-size:14px}@media (max-width:768px){.footer{margin-top:20px;padding:15px 15px 10px}.footer-container{flex-direction:column;gap:20px;padding:0;display:flex}.footer-contact{gap:12px;margin-bottom:0}.brand{justify-content:flex-start;margin-bottom:0}.brand h2{font-size:16px}.footer-logo{width:20px;height:20px}.contact-info{gap:8px}.contact-info h3{display:none}.email-container{font-size:13px}.social-links{margin-top:5px}.social-link svg{width:18px;height:18px}.footer-section{margin:0;padding:0}.footer-section h3{color:#666;margin-bottom:6px;font-size:14px}.footer-section ul{flex-wrap:wrap;gap:12px;margin:0;display:flex}.footer-section li{color:#666;margin:0;font-size:13px}.footer-bottom{border-top:1px solid #eee;margin-top:12px;padding-top:8px}.footer-bottom p{color:#999;font-size:12px}}@media (max-width:480px){.footer{padding:12px 12px 8px}.footer-container{gap:15px}.footer-section:not(:first-child){width:100%}.footer-section ul{grid-template-columns:repeat(2,1fr);gap:8px;width:100%;display:grid}.footer-section li{text-align:left;padding:4px 0}.social-links{gap:15px}.copy-button{padding:4px}.copy-button svg{width:14px;height:14px}}.copy-success-tip{background:#000000b3;border-radius:20px;padding:8px 16px;font-size:12px}
:root{--calendar-content-width:100%;--calendar-gap:2px;--calendar-padding:2px}html.mobile-device body{-webkit-text-size-adjust:100%;touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-size:14px}.calendar-container{box-sizing:border-box;grid-template-columns:3fr 2fr;align-items:start;gap:12px;width:80%;max-width:1000px;margin:0 auto;padding:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial;display:grid;position:relative;overflow:visible}.calendar{box-sizing:border-box;background-color:#fff;border-radius:12px;width:100%;max-width:100%;padding:16px;box-shadow:0 2px 10px #0000001a}.calendar-header{justify-content:center;align-items:center;width:100%;margin-bottom:16px;padding:0 8px;display:flex}.date-selectors{flex-wrap:nowrap;justify-content:center;align-items:center;gap:16px;width:100%;display:flex}.date-selector-group{align-items:center;gap:1px;display:flex}.nav-button{color:#fff;cursor:pointer;background-color:#4169e1;border:none;border-radius:3px;justify-content:center;align-items:center;width:40px;height:36px;margin:0;padding:0;transition:background-color .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000001a}.nav-button svg{box-sizing:border-box;width:100%;height:100%;padding:4px;position:absolute;inset:0}.nav-button:hover{background-color:#3367d6}.nav-button:active{background-color:#2a56c6}.today-button{color:#fff;cursor:pointer;box-sizing:border-box;white-space:nowrap;background-color:#4169e1;border:none;border-radius:3px;min-width:50px;height:36px;margin-left:8px;padding:0 8px;font-size:14px;line-height:1;transition:background-color .2s,box-shadow .2s;box-shadow:0 1px 2px #0000001a}.today-button:hover{background-color:#3367d6;box-shadow:0 2px 4px #0003}.today-button:active{background-color:#2a56c6;box-shadow:0 1px 2px #0003}.year-month-button{color:#fff;cursor:pointer;box-sizing:border-box;background-color:#4169e1;border:none;border-radius:3px;justify-content:center;align-items:center;font-size:14px;transition:all .2s;display:flex}.year-month-button.year-button{width:auto;min-width:75px;height:36px;margin:0 2px;padding:0 6px}.year-month-button.month-button{width:auto;min-width:60px;height:36px;margin:0 2px;padding:0 6px}.year-month-button:hover{color:#fff;background-color:#3367d6;border-color:#3367d6}.year-month-button:active{color:#fff;background-color:#2a56c6;border-color:#2a56c6}.year-month-wrapper{box-sizing:border-box;align-items:center;height:40px;margin:0 2px;display:flex;position:relative}.year-month-selector{align-items:center;gap:2px;display:flex}.calendar-navigation{background-color:#f9f9f9;border-bottom:1px solid #eee;justify-content:space-between;align-items:center;gap:3px;padding:5px;display:flex}.calendar-weekdays{box-sizing:border-box;background:#fff;border-bottom:1px solid #f0f0f0;grid-template-columns:repeat(7,1fr);gap:0;width:100%;margin:0 auto;padding:6px 0;display:grid;position:relative}.weekday{color:#666;text-align:center;box-sizing:border-box;justify-content:center;align-items:center;height:28px;padding:8px 0;font-size:15px;font-weight:500;line-height:1;display:flex}.calendar-grid{z-index:1;box-sizing:border-box;background-color:#f9fafc;border-radius:8px;grid-template-columns:repeat(7,1fr);gap:4px;width:100%;margin:10px auto 0;padding:8px;display:grid;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000d}.calendar-day{cursor:pointer;box-sizing:border-box;border-radius:4px;flex-direction:column;justify-content:flex-start;align-items:center;gap:1px;min-height:40px;padding:2px 1px;display:flex;position:relative}.calendar-day.today{background:#e6f7ff}.calendar-day.today .solar-day{color:#1890ff}.calendar-day.today .lunar-day{color:#69c0ff}.calendar-day.today:after{content:"今";color:#fff;z-index:1;background:#52c41a;border-radius:0 6px 0 4px;padding:1px 2px;font-size:10px;line-height:1;position:absolute;top:0;right:0}.calendar-day.holiday{background:#fff1f0}.calendar-day.holiday .solar-day{color:#ff4d4f}.calendar-day.workday{background:#f5f5f5}.calendar-day .holiday-tag,.calendar-day .workday-tag{color:#fff;z-index:1;border-radius:0 6px 0 4px;padding:1px 2px;font-size:10px;line-height:1;position:absolute;top:0;right:0}.calendar-day .holiday-tag{background:#ff4d4f}.calendar-day .workday-tag{background:#595959}.calendar-day.other-month .solar-day,.calendar-day.other-month .lunar-day{color:#ccc}.solar-day{color:#1f1f1f;box-sizing:border-box;margin-bottom:1px;font-size:16px;font-weight:600;line-height:1.1}.lunar-day{color:#666;box-sizing:border-box;font-size:11px}.festival-day{color:#ff4d4f;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;z-index:2;max-width:100%;margin-top:2px;font-size:10px;line-height:1;display:block;position:relative;overflow:hidden}.calendar-day:nth-child(7n) .solar-day,.calendar-day:nth-child(7n-1) .solar-day{color:#ff4d4f}.calendar-day:nth-child(7n).other-month .solar-day,.calendar-day:nth-child(7n-1).other-month .solar-day{color:#ffccc7}.calendar-day:nth-child(7n){border-right:none}.calendar-day:nth-last-child(-n+7){border-bottom:none}.calendar-day:hover{background:#f5f5f5}.calendar-day.selected{background:#4080ff!important}.calendar-day.selected .solar-day,.calendar-day.selected .lunar-day,.calendar-day.selected .festival-day{color:#fff!important}.today-badge{color:#1890ff;box-sizing:border-box;padding:1px;font-size:11px;font-weight:500;line-height:1;position:absolute;top:0;right:0}.today-mark{color:#1890ff;box-sizing:border-box;font-size:11px;font-weight:500;line-height:1;position:absolute;top:-2px;right:-12px}.nav-button:active,.selector-button:active,.today-button:active{transform:translateY(0)scale(.98);box-shadow:0 2px 4px #5b8def33}.year-picker{z-index:1000;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#c1c1c1 #f1f1f1;background-color:#fff;border:1px solid #ddd;border-radius:3px;min-width:75px;max-height:200px;padding:3px 0;animation:.15s ease-in-out fadeIn;position:absolute;overflow-y:auto;box-shadow:0 2px 5px #0000001a}.month-picker{z-index:1000;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#c1c1c1 #f1f1f1;background-color:#fff;border:1px solid #ddd;border-radius:3px;min-width:60px;max-height:200px;padding:3px 0;animation:.15s ease-in-out fadeIn;position:absolute;overflow-y:auto;box-shadow:0 2px 5px #0000001a}.year-picker::-webkit-scrollbar{width:4px}.month-picker::-webkit-scrollbar{width:4px}.year-picker::-webkit-scrollbar-track{background:#f1f1f1}.month-picker::-webkit-scrollbar-track{background:#f1f1f1}.year-picker::-webkit-scrollbar-thumb{background:#c1c1c1}.month-picker::-webkit-scrollbar-thumb{background:#c1c1c1}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.year-option,.month-option{cursor:pointer;text-align:center;padding:5px 8px;transition:background-color .2s}.year-option:hover,.month-option:hover{background-color:#f0f0f0}.year-option.selected,.month-option.selected{color:#4285f4;background-color:#e6f0ff;font-weight:500}.mobile-view{flex-direction:column!important;gap:10px!important;width:100%!important;max-width:100%!important;margin:0 auto!important;padding:0!important;display:flex!important;overflow-x:visible!important}.mobile-view .calendar{box-sizing:border-box!important;border-radius:10px!important;width:100%!important;min-width:100%!important;margin:0 auto!important;padding:8px!important}.mobile-view .day-detail-container{box-sizing:border-box!important;width:100%!important;min-width:100%!important;margin:0 auto!important;padding:0!important;position:relative!important;top:auto!important;left:auto!important}.mobile-view .day-detail{box-sizing:border-box!important;border-radius:10px!important;width:100%!important;min-width:100%!important;max-height:none!important;margin:0 auto!important;padding:12px!important;overflow-y:visible!important}
:root{--calendar-content-width:100%;--calendar-gap:2px;--calendar-padding:2px}html.mobile-device body{-webkit-text-size-adjust:100%;touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-size:14px}.calendar-container{box-sizing:border-box;grid-template-columns:3fr 2fr;align-items:start;gap:12px;width:80%;max-width:1000px;margin:0 auto;padding:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial;display:grid;position:relative;overflow:visible}.calendar{box-sizing:border-box;background-color:#fff;border-radius:12px;width:100%;max-width:100%;padding:16px;box-shadow:0 2px 10px #0000001a}.calendar-header{justify-content:center;align-items:center;width:100%;margin-bottom:16px;padding:0 8px;display:flex}.date-selectors{flex-wrap:nowrap;justify-content:center;align-items:center;gap:16px;width:100%;display:flex}.date-selector-group{align-items:center;gap:1px;display:flex}.nav-button{color:#fff;cursor:pointer;background-color:#4169e1;border:none;border-radius:3px;justify-content:center;align-items:center;width:40px;height:36px;margin:0;padding:0;transition:background-color .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000001a}.nav-button svg{box-sizing:border-box;width:100%;height:100%;padding:4px;position:absolute;inset:0}.nav-button:hover{background-color:#3367d6}.nav-button:active{background-color:#2a56c6}.today-button{color:#fff;cursor:pointer;box-sizing:border-box;white-space:nowrap;background-color:#4169e1;border:none;border-radius:3px;min-width:50px;height:36px;margin-left:8px;padding:0 8px;font-size:14px;line-height:1;transition:background-color .2s,box-shadow .2s;box-shadow:0 1px 2px #0000001a}.today-button:hover{background-color:#3367d6;box-shadow:0 2px 4px #0003}.today-button:active{background-color:#2a56c6;box-shadow:0 1px 2px #0003}.year-month-button{color:#fff;cursor:pointer;box-sizing:border-box;background-color:#4169e1;border:none;border-radius:3px;justify-content:center;align-items:center;font-size:14px;transition:all .2s;display:flex}.year-month-button.year-button{width:auto;min-width:75px;height:36px;margin:0 2px;padding:0 6px}.year-month-button.month-button{width:auto;min-width:60px;height:36px;margin:0 2px;padding:0 6px}.year-month-button:hover{color:#fff;background-color:#3367d6;border-color:#3367d6}.year-month-button:active{color:#fff;background-color:#2a56c6;border-color:#2a56c6}.year-month-wrapper{box-sizing:border-box;align-items:center;height:40px;margin:0 2px;display:flex;position:relative}.year-month-selector{align-items:center;gap:2px;display:flex}.calendar-navigation{background-color:#f9f9f9;border-bottom:1px solid #eee;justify-content:space-between;align-items:center;gap:3px;padding:5px;display:flex}.calendar-weekdays{box-sizing:border-box;background:#fff;border-bottom:1px solid #f0f0f0;grid-template-columns:repeat(7,1fr);gap:0;width:100%;margin:0 auto;padding:6px 0;display:grid;position:relative}.weekday{color:#666;text-align:center;box-sizing:border-box;justify-content:center;align-items:center;height:28px;padding:8px 0;font-size:15px;font-weight:500;line-height:1;display:flex}.calendar-grid{z-index:1;box-sizing:border-box;background-color:#f9fafc;border-radius:8px;grid-template-columns:repeat(7,1fr);gap:4px;width:100%;margin:10px auto 0;padding:8px;display:grid;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000d}.calendar-day{cursor:pointer;box-sizing:border-box;border-radius:4px;flex-direction:column;justify-content:flex-start;align-items:center;gap:1px;min-height:40px;padding:2px 1px;display:flex;position:relative}.calendar-day.today{background:#e6f7ff}.calendar-day.today .solar-day{color:#1890ff}.calendar-day.today .lunar-day{color:#69c0ff}.calendar-day.today:after{content:"今";color:#fff;z-index:1;background:#52c41a;border-radius:0 6px 0 4px;padding:1px 2px;font-size:10px;line-height:1;position:absolute;top:0;right:0}.calendar-day.holiday{background:#fff1f0}.calendar-day.holiday .solar-day{color:#ff4d4f}.calendar-day.workday{background:#f5f5f5}.calendar-day .holiday-tag,.calendar-day .workday-tag{color:#fff;z-index:1;border-radius:0 6px 0 4px;padding:1px 2px;font-size:10px;line-height:1;position:absolute;top:0;right:0}.calendar-day .holiday-tag{background:#ff4d4f}.calendar-day .workday-tag{background:#595959}.calendar-day.other-month .solar-day,.calendar-day.other-month .lunar-day{color:#ccc}.solar-day{color:#1f1f1f;box-sizing:border-box;margin-bottom:1px;font-size:16px;font-weight:600;line-height:1.1}.lunar-day{color:#666;box-sizing:border-box;font-size:11px}.festival-day{color:#ff4d4f;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;z-index:2;max-width:100%;margin-top:2px;font-size:10px;line-height:1;display:block;position:relative;overflow:hidden}.calendar-day:nth-child(7n) .solar-day,.calendar-day:nth-child(7n-1) .solar-day{color:#ff4d4f}.calendar-day:nth-child(7n).other-month .solar-day,.calendar-day:nth-child(7n-1).other-month .solar-day{color:#ffccc7}.calendar-day:nth-child(7n){border-right:none}.calendar-day:nth-last-child(-n+7){border-bottom:none}.calendar-day:hover{background:#f5f5f5}.calendar-day.selected{background:#4080ff!important}.calendar-day.selected .solar-day,.calendar-day.selected .lunar-day,.calendar-day.selected .festival-day{color:#fff!important}.today-badge{color:#1890ff;box-sizing:border-box;padding:1px;font-size:11px;font-weight:500;line-height:1;position:absolute;top:0;right:0}.today-mark{color:#1890ff;box-sizing:border-box;font-size:11px;font-weight:500;line-height:1;position:absolute;top:-2px;right:-12px}.nav-button:active,.selector-button:active,.today-button:active{transform:translateY(0)scale(.98);box-shadow:0 2px 4px #5b8def33}.year-picker{z-index:1000;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#c1c1c1 #f1f1f1;background-color:#fff;border:1px solid #ddd;border-radius:3px;min-width:75px;max-height:200px;padding:3px 0;animation:.15s ease-in-out fadeIn;position:absolute;overflow-y:auto;box-shadow:0 2px 5px #0000001a}.month-picker{z-index:1000;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#c1c1c1 #f1f1f1;background-color:#fff;border:1px solid #ddd;border-radius:3px;min-width:60px;max-height:200px;padding:3px 0;animation:.15s ease-in-out fadeIn;position:absolute;overflow-y:auto;box-shadow:0 2px 5px #0000001a}.year-picker::-webkit-scrollbar{width:4px}.month-picker::-webkit-scrollbar{width:4px}.year-picker::-webkit-scrollbar-track{background:#f1f1f1}.month-picker::-webkit-scrollbar-track{background:#f1f1f1}.year-picker::-webkit-scrollbar-thumb{background:#c1c1c1}.month-picker::-webkit-scrollbar-thumb{background:#c1c1c1}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.year-option,.month-option{cursor:pointer;text-align:center;padding:5px 8px;transition:background-color .2s}.year-option:hover,.month-option:hover{background-color:#f0f0f0}.year-option.selected,.month-option.selected{color:#4285f4;background-color:#e6f0ff;font-weight:500}.mobile-view{flex-direction:column!important;gap:10px!important;width:100%!important;max-width:100%!important;margin:0 auto!important;padding:0!important;display:flex!important;overflow-x:visible!important}.mobile-view .calendar{box-sizing:border-box!important;border-radius:10px!important;width:100%!important;min-width:100%!important;margin:0 auto!important;padding:8px!important}.mobile-view .day-detail-container{box-sizing:border-box!important;width:100%!important;min-width:100%!important;margin:0 auto!important;padding:0!important;position:relative!important;top:auto!important;left:auto!important}.mobile-view .day-detail{box-sizing:border-box!important;border-radius:10px!important;width:100%!important;min-width:100%!important;max-height:none!important;margin:0 auto!important;padding:12px!important;overflow-y:visible!important}@media (max-width:768px){.calendar-container{box-sizing:border-box;gap:8px;width:95%;max-width:100%;margin:0 auto;padding:8px;grid-template-columns:1fr 1fr!important;display:grid!important}.date-selectors{gap:12px}.date-selector-group{gap:0}.nav-button{width:36px;height:36px}.calendar{border-radius:10px;width:100%;min-width:0;padding:8px}.day-detail-container{box-sizing:border-box;width:100%;min-width:0;margin-top:0}.day-detail{box-sizing:border-box;border-radius:10px;width:100%;max-height:none;padding:10px;overflow-y:auto}.calendar-header{box-sizing:border-box;padding:10px 8px}.date-selectors{flex-wrap:wrap;gap:2px}.nav-button{box-sizing:border-box;width:36px;height:34px;margin:0 2px}.nav-button svg{padding:3px}.today-button{min-width:50px;height:34px;margin-left:0;padding:0 10px;font-size:14px}.selector-button{box-sizing:border-box;height:34px;padding:4px 10px;font-size:14px}.year-month-wrapper{height:34px}.year-month-button.year-button{min-width:80px;height:34px;padding:0 10px}.year-month-button.month-button{min-width:60px;height:34px;padding:0 10px}.calendar-grid{box-sizing:border-box;gap:1px;margin-top:6px}.day-cell{box-sizing:border-box!important;height:42px!important;font-size:13px!important}.weekday-header{box-sizing:border-box;padding:6px 0;font-size:13px}.calendar-day{min-height:38px;padding:1px 0}.solar-day{font-size:15px}.lunar-day{font-size:11px}}@media (max-width:480px){.calendar-container{flex-direction:column!important;gap:10px!important;width:100%!important;max-width:100%!important;margin:0 auto!important;padding:0!important;display:flex!important;overflow-x:visible!important}.calendar{box-sizing:border-box!important;border-radius:10px!important;width:100%!important;min-width:100%!important;margin:0 auto!important;padding:8px!important}.day-detail-container{box-sizing:border-box!important;width:100%!important;min-width:100%!important;margin:0 auto!important;padding:0!important;position:relative!important;top:auto!important;left:auto!important}.day-detail{box-sizing:border-box!important;border-radius:10px!important;width:100%!important;min-width:100%!important;max-height:none!important;margin:0 auto!important;padding:12px!important;overflow-y:visible!important}.calendar-header{box-sizing:border-box!important;padding:10px 4px!important}.date-selectors{flex-wrap:nowrap!important;justify-content:space-between!important;gap:2px!important;width:100%!important;overflow-x:visible!important}.date-selector-group{flex-shrink:1!important;align-items:center!important;gap:1px!important;min-width:0!important;display:flex!important}.nav-button{flex-shrink:0!important;justify-content:center!important;align-items:center!important;width:26px!important;height:26px!important;margin:0!important;padding:0!important;display:flex!important}.nav-button svg{width:16px!important;height:16px!important;padding:0!important;display:block!important;position:static!important}.year-month-wrapper{flex-shrink:1!important;min-width:0!important;height:26px!important}.year-month-button.year-button{white-space:nowrap!important;text-overflow:ellipsis!important;min-width:45px!important;height:26px!important;padding:0 2px!important;font-size:12px!important;overflow:hidden!important}.year-month-button.month-button{white-space:nowrap!important;text-overflow:ellipsis!important;min-width:35px!important;height:26px!important;padding:0 2px!important;font-size:12px!important;overflow:hidden!important}.today-button{white-space:nowrap!important;flex-shrink:0!important;min-width:32px!important;height:26px!important;margin-left:2px!important;padding:0 4px!important;font-size:12px!important}.calendar-grid{box-sizing:border-box!important;gap:1px!important;margin-top:6px!important}.day-cell,.calendar-day{height:36px!important;min-height:32px!important}.weekday-header{box-sizing:border-box!important;padding:4px 0!important;font-size:12px!important}.calendar-day{min-height:36px!important;padding:1px 0!important}.solar-day{font-size:14px!important}.lunar-day{font-size:10px!important}.festival-day{font-size:9px!important}.holiday-tag,.workday-tag{padding:0 2px!important;font-size:9px!important}.year-picker,.month-picker{width:100px!important;max-height:200px!important}.year-option,.month-option{padding:4px!important;font-size:12px!important}}@media (max-width:360px) and (min-width:320px){.calendar-day{min-height:42px!important}.festival-day{font-size:8px!important}.solar-day{font-size:13px!important}.lunar-day{font-size:9px!important}}.mobile-tip{color:#fff;z-index:1000;text-align:center;background-color:#000000b3;border-radius:20px;max-width:90%;padding:8px 16px;font-size:12px;animation:3s ease-in-out fadeInOut;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #0003}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,20px)}10%{opacity:1;transform:translate(-50%)}90%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-20px)}}.calendar-day,.nav-button,.year-month-button,.today-button{touch-action:manipulation}@media (max-width:480px){.calendar-container{box-sizing:border-box!important;flex-direction:column!important;width:100%!important;margin:0!important;padding:0!important;display:flex!important}.day-cell{box-sizing:border-box!important;height:42px!important;font-size:13px!important}.calendar-day{min-height:48px!important;padding:1px 0!important}.festival-day{max-width:90%!important;margin-top:1px!important;padding:0 1px!important;font-size:9px!important}.solar-day{font-size:14px!important}.lunar-day{margin-bottom:1px!important;font-size:10px!important}}@media (max-width:320px){.calendar-day{min-height:45px!important}.festival-day{font-size:7px!important}.solar-day{font-size:12px!important}.lunar-day{font-size:8px!important}}
.calendar{background:#fff;border-radius:12px;height:100%;padding:16px;box-shadow:0 2px 12px #0000001a}.day-detail{box-sizing:border-box;background-color:#fff;border-radius:0 12px 12px 0;flex-direction:column;justify-content:flex-start;width:100%;height:100%;max-height:calc(100vh - 40px);padding:12px;display:flex;overflow-y:auto;box-shadow:0 2px 10px #0000001a}.day-detail-header{color:#333;border-bottom:1px solid #f0f0f0;margin-bottom:6px;padding-bottom:6px;font-size:16px;font-weight:600}.day-basic-info{flex-direction:column;align-items:center;gap:4px;margin-bottom:12px;display:flex}.lunar-date-large{color:#e84040;text-align:center;width:100%;margin-bottom:8px;font-size:24px;font-weight:600}.solar-date-small{color:#666;margin-bottom:8px;font-size:16px}.ganzhi-year{color:#888;margin-bottom:16px;font-size:14px}.day-additional-info{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:16px;display:flex}.info-item{color:#666;background-color:#f5f5f5;border-radius:4px;padding:2px 6px;font-size:12px}.day-detail-content{flex-direction:column;gap:12px;display:flex}.detail-header{color:#333;border-bottom:1px solid #f0f0f0;margin:0 0 16px;padding-bottom:8px;font-size:16px;font-weight:600}.detail-item{color:#333;margin-bottom:8px;font-size:14px}.detail-item label{color:#666;flex-shrink:0;width:60px}.detail-item span{color:#333;flex:1}.detail-item-list span{flex-wrap:wrap;gap:8px;display:flex}.detail-item-grid{flex-direction:column}.activities{flex-direction:column;gap:6px;margin:4px 0;display:flex}.activity-good,.activity-bad{align-items:flex-start;padding:2px 8px;display:flex}.activity-icon{text-align:center;color:#fff;border-radius:50%;flex-shrink:0;width:24px;height:24px;margin-right:8px;font-size:14px;line-height:24px}.activity-good .activity-icon{background-color:#4169e1}.activity-bad .activity-icon{background-color:red}.activity-items{color:#333;flex-wrap:wrap;flex:1;gap:4px 8px;width:100%;max-width:none;font-size:14px;line-height:1.2;display:flex}.activity-item{white-space:nowrap;display:inline-block}
@media (max-width:768px){.day-detail-container{width:100%;margin-left:0}.day-detail{box-sizing:border-box;width:100%;padding:10px}.lunar-date-large{color:#e84040;margin-bottom:10px;font-size:1.2rem}.activity-items{flex-wrap:wrap;justify-content:flex-start;gap:5px;display:flex}.activity-item{margin:2px;padding:4px 8px;font-size:.9rem}}@media (max-width:480px){.day-detail-container{z-index:1001;width:100%;max-width:100%;height:100%;box-shadow:none;border-radius:0;animation:.3s ease-out slide-up;position:fixed;inset:0;overflow-y:auto}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.day-detail-header{z-index:10;background-color:#f5f5f5;padding:12px;position:sticky;top:0;box-shadow:0 2px 5px #0000001a}.day-detail-date{font-size:18px}.day-detail-close{background-color:#0000000d;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:24px;display:flex;position:absolute;top:10px;right:10px}.day-detail-content{padding:12px}.event-form input,.event-form textarea{margin-bottom:12px;padding:10px;font-size:16px}.event-form button{border-radius:8px;width:100%;margin-top:10px;padding:12px 16px;font-size:16px}.event-list{margin-top:15px}.event-item{border-radius:8px;margin-bottom:10px;padding:12px}.day-detail-container{padding-bottom:env(safe-area-inset-bottom,20px)}}@media (max-width:360px){.day-detail-date{font-size:16px}.event-form input,.event-form textarea,.event-form button{padding:8px;font-size:14px}.event-item{padding:10px}}
.calendar{background:#fff;border-radius:12px;height:100%;padding:16px;box-shadow:0 2px 12px #0000001a}.day-detail{box-sizing:border-box;background-color:#fff;border-radius:0 12px 12px 0;flex-direction:column;justify-content:flex-start;width:100%;height:100%;max-height:calc(100vh - 40px);padding:12px;display:flex;overflow-y:auto;box-shadow:0 2px 10px #0000001a}.day-detail-header{color:#333;border-bottom:1px solid #f0f0f0;margin-bottom:6px;padding-bottom:6px;font-size:16px;font-weight:600}.day-basic-info{flex-direction:column;align-items:center;gap:4px;margin-bottom:12px;display:flex}.lunar-date-large{color:#e84040;text-align:center;width:100%;margin-bottom:8px;font-size:24px;font-weight:600}.solar-date-small{color:#666;margin-bottom:8px;font-size:16px}.ganzhi-year{color:#888;margin-bottom:16px;font-size:14px}.day-additional-info{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:16px;display:flex}.info-item{color:#666;background-color:#f5f5f5;border-radius:4px;padding:2px 6px;font-size:12px}.day-detail-content{flex-direction:column;gap:12px;display:flex}.detail-header{color:#333;border-bottom:1px solid #f0f0f0;margin:0 0 16px;padding-bottom:8px;font-size:16px;font-weight:600}.detail-item{color:#333;margin-bottom:8px;font-size:14px}.detail-item label{color:#666;flex-shrink:0;width:60px}.detail-item span{color:#333;flex:1}.detail-item-list span{flex-wrap:wrap;gap:8px;display:flex}.detail-item-grid{flex-direction:column}.activities{flex-direction:column;gap:6px;margin:4px 0;display:flex}.activity-good,.activity-bad{align-items:flex-start;padding:2px 8px;display:flex}.activity-icon{text-align:center;color:#fff;border-radius:50%;flex-shrink:0;width:24px;height:24px;margin-right:8px;font-size:14px;line-height:24px}.activity-good .activity-icon{background-color:#4169e1}.activity-bad .activity-icon{background-color:red}.activity-items{color:#333;flex-wrap:wrap;flex:1;gap:4px 8px;width:100%;max-width:none;font-size:14px;line-height:1.2;display:flex}.activity-item{white-space:nowrap;display:inline-block}@media (max-width:768px){.day-detail-container{width:100%;margin-left:0}.day-detail{box-sizing:border-box;width:100%;padding:10px}.lunar-date-large{color:#e84040;margin-bottom:10px;font-size:1.2rem}.activity-items{flex-wrap:wrap;justify-content:flex-start;gap:5px;display:flex}.activity-item{margin:2px;padding:4px 8px;font-size:.9rem}}@media (max-width:480px){.day-detail-container{z-index:1001;width:100%;max-width:100%;height:100%;box-shadow:none;border-radius:0;animation:.3s ease-out slide-up;position:fixed;inset:0;overflow-y:auto}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.day-detail-header{z-index:10;background-color:#f5f5f5;padding:12px;position:sticky;top:0;box-shadow:0 2px 5px #0000001a}.day-detail-date{font-size:18px}.day-detail-close{background-color:#0000000d;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:24px;display:flex;position:absolute;top:10px;right:10px}.day-detail-content{padding:12px}.event-form input,.event-form textarea{margin-bottom:12px;padding:10px;font-size:16px}.event-form button{border-radius:8px;width:100%;margin-top:10px;padding:12px 16px;font-size:16px}.event-list{margin-top:15px}.event-item{border-radius:8px;margin-bottom:10px;padding:12px}.day-detail-container{padding-bottom:env(safe-area-inset-bottom,20px)}}@media (max-width:360px){.day-detail-date{font-size:16px}.event-form input,.event-form textarea,.event-form button{padding:8px;font-size:14px}.event-item{padding:10px}}.info-table{border:1px solid #eee;border-radius:4px;margin:4px 0;overflow:hidden}.info-row{border-bottom:1px solid #eee;display:flex}.info-row:last-child{border-bottom:none}.info-cell{text-align:center;background:#fafafa;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:4px;display:flex;position:relative}.info-cell:not(:last-child):after{content:"";background:#eee;width:1px;height:60%;position:absolute;top:20%;right:0}.info-title{color:#c4a484;text-align:center;margin-bottom:2px;font-size:14px}.info-content{color:#333;text-align:center;font-size:14px}.info-row:last-child .info-title{text-align:center;background:#fafafa;border-right:1px solid #eee;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:auto;margin:0;padding:8px;display:flex}.hours-content{flex:1;grid-template-columns:repeat(12,1fr);display:grid}.hour-cell{text-align:center;border-right:1px solid #eee;flex-direction:column;align-items:center;gap:1px;min-height:50px;padding:2px;display:flex;position:relative}.hour-cell:last-child{border-right:none}.hour-name{color:#333;font-size:12px}.hour-ganzhi{color:#666;font-size:12px}.hour-luck{padding:2px 0;font-size:12px}.hour-luck.lucky{color:#4169e1}.hour-luck.unlucky{color:red}.hour-tooltip{color:#fff;white-space:nowrap;z-index:1000;background-color:#000c;border-radius:4px;padding:4px 8px;font-size:12px;position:absolute;top:-30px;left:50%;transform:translate(-50%)}.tooltip-shift-left{transform:translate(-90%)}.tooltip-shift-left:after{left:90%}.detail-divider{background:#f0f0f0;height:1px;margin:12px 0}.detail-row{border-bottom:1px solid #f0f0f0;align-items:center;gap:8px;padding:8px 0;display:flex}.detail-row .label{color:#666;min-width:60px}.detail-row .value{color:#333;flex:1}.detail-section{margin-bottom:8px;padding:8px}.detail-section h4{color:#333;border-bottom:2px solid #4285f4;margin:0 0 8px;padding-bottom:6px;font-size:1.1em}.festival-countdown-cell{background-color:#f0f7ff;border-radius:8px;justify-content:space-between;align-items:center;padding:8px;display:flex}.festival-countdown{color:#4285f4;margin-right:12px;font-size:14px}.greeting-content{color:#4285f4;font-size:15px;line-height:1.5}.greeting-text{margin-bottom:12px;display:inline;position:relative}.greeting-words{word-break:break-word}.greeting-text:hover{opacity:1}.generate-greeting-button{color:#fff;cursor:pointer;white-space:nowrap;background-color:#4169e1;border:none;border-radius:8px;height:32px;padding:6px 14px;font-size:14px;line-height:20px;transition:all .2s;box-shadow:0 2px 4px #4285f44d}.generate-greeting-button:hover{background-color:#3367d6;transform:translateY(-1px);box-shadow:0 4px 8px #4285f466}.festival-section{margin-top:16px}.festival-table{border-collapse:collapse;width:100%}.festival-cell{background-color:#f0f7ff;border-radius:8px;margin-bottom:8px;padding:8px}
.blog-page{background:#fff;border-radius:12px;margin-top:1rem;padding:2rem;box-shadow:0 4px 12px #00000014}.blog-header{text-align:center;border-bottom:1px solid #eee;margin-bottom:2.5rem;padding-bottom:1.5rem}.blog-header h2{color:#6c5ce7;margin-bottom:1rem;font-size:2rem;font-weight:600}.blog-description{color:#666;max-width:800px;margin:0 auto;font-size:1.1rem}.blog-content{gap:2rem;display:flex}.blog-posts{flex:3}.blog-post-card{background:#f9f9f9;border-left:4px solid #6c5ce7;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem;transition:transform .3s,box-shadow .3s}.blog-post-card:hover{transform:translateY(-5px);box-shadow:0 6px 15px #6c5ce726}.post-title{color:#444;margin-bottom:.8rem;font-size:1.4rem;font-weight:600}.post-excerpt{color:#666;margin-bottom:1rem;font-size:1rem;line-height:1.6}.read-more-btn{color:#6c5ce7;cursor:pointer;background-color:#0000;border:1px solid #6c5ce7;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;transition:all .3s}.read-more-btn:hover{color:#fff;background-color:#6c5ce7}.blog-sidebar{flex:1}.sidebar-section{background:#f9f9f9;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.sidebar-section h4{color:#6c5ce7;border-bottom:2px solid #eee;margin-bottom:1rem;padding-bottom:.5rem;font-size:1.2rem}.category-list,.popular-posts{padding:0;list-style:none}.category-list li,.popular-posts li{color:#555;cursor:pointer;border-bottom:1px solid #eee;padding:.5rem 0;transition:color .3s}.category-list li:hover,.popular-posts li:hover{color:#6c5ce7}.category-list li:last-child,.popular-posts li:last-child{border-bottom:none}.blog-footer{text-align:center;color:#888;border-top:1px solid #eee;margin-top:2rem;padding-top:1.5rem;font-style:italic}@media (max-width:768px){.blog-page{border-radius:8px;margin-top:.8rem;padding:1.5rem}.blog-header h2{margin-bottom:.8rem;font-size:1.6rem}.blog-description{font-size:1rem}.blog-content{flex-direction:column;gap:1.5rem}.blog-post-card{margin-bottom:1.2rem;padding:1.2rem}.post-title{font-size:1.2rem}.sidebar-section{padding:1.2rem}}@media (max-width:480px){.blog-page{border-radius:6px;padding:1rem;box-shadow:0 2px 8px #0000000f}.blog-header{margin-bottom:1.5rem;padding-bottom:1rem}.blog-header h2{font-size:1.4rem}.blog-description{font-size:.9rem}.blog-post-card{border-left-width:3px;margin-bottom:1rem;padding:1rem}.post-title{margin-bottom:.6rem;font-size:1.1rem}.post-excerpt{margin-bottom:.8rem;font-size:.9rem;line-height:1.5}.read-more-btn{padding:.4rem .8rem;font-size:.8rem}.sidebar-section{margin-bottom:1rem;padding:1rem}.sidebar-section h4{margin-bottom:.8rem;font-size:1.1rem}.category-list li,.popular-posts li{padding:.4rem 0;font-size:.9rem}.blog-footer{margin-top:1.5rem;padding-top:1rem;font-size:.8rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.blog-post-card{opacity:0;animation:.5s forwards fadeIn}.blog-post-card:first-child{animation-delay:.1s}.blog-post-card:nth-child(2){animation-delay:.2s}.blog-post-card:nth-child(3){animation-delay:.3s}
.blog-post-page{background:#fff;border-radius:12px;max-width:900px;margin-top:1rem;margin-left:auto;margin-right:auto;padding:2.5rem;box-shadow:0 4px 12px #00000014}.post-header{border-bottom:1px solid #eee;margin-bottom:2rem;padding-bottom:1.5rem}.post-header h2{color:#333;margin-bottom:1rem;font-size:2.2rem;font-weight:700;line-height:1.3}.post-meta{color:#777;flex-wrap:wrap;gap:1.5rem;font-size:.95rem;display:flex}.post-author,.post-category{align-items:center;display:flex}.post-category{color:#6c5ce7;background-color:#f0eeff;border-radius:20px;padding:.3rem .8rem;font-size:.85rem}.post-content{color:#444;margin-bottom:2.5rem;font-size:1.1rem;line-height:1.8}.post-content h3{color:#333;margin:2rem 0 1rem;font-size:1.6rem;font-weight:600}.post-content p{margin-bottom:1.5rem}.post-content ul,.post-content ol{margin-bottom:1.5rem;padding-left:2rem}.post-content li{margin-bottom:.5rem}.post-content a{color:#6c5ce7;border-bottom:1px solid #6c5ce7;text-decoration:none;transition:all .3s}.post-content a:hover{color:#5649c0;border-bottom-color:#5649c0}.post-content img{border-radius:8px;max-width:100%;height:auto;margin:1.5rem 0}.post-footer{border-top:1px solid #eee;justify-content:space-between;align-items:center;margin-top:2rem;padding-top:1.5rem;display:flex}.back-btn{color:#fff;cursor:pointer;background-color:#6c5ce7;border:none;border-radius:4px;padding:.7rem 1.5rem;font-size:1rem;transition:all .3s}.back-btn:hover{background-color:#5649c0;transform:translateY(-2px);box-shadow:0 4px 8px #6c5ce733}.post-share{align-items:center;gap:.8rem;display:flex}.post-share span{color:#777;font-size:.95rem}.share-btn{color:#555;cursor:pointer;background-color:#f5f5f5;border:none;border-radius:4px;padding:.5rem .8rem;font-size:.9rem;transition:all .3s}.share-btn:hover{background-color:#e9e9e9}.post-not-found{text-align:center;padding:3rem 1rem}.post-not-found h2{color:#333;margin-bottom:1rem;font-size:1.8rem}.post-not-found p{color:#666;margin-bottom:2rem;font-size:1.1rem}@media (max-width:768px){.blog-post-page{border-radius:10px;margin-top:.8rem;padding:1.5rem}.post-header h2{margin-bottom:.8rem;font-size:1.8rem}.post-meta{flex-direction:column;gap:.5rem;margin-bottom:1rem}.post-content{font-size:1rem;line-height:1.7}.post-content h3{margin:1.5rem 0 .8rem;font-size:1.4rem}.post-content p{margin-bottom:1.2rem}.post-content img{margin:1.2rem 0}.post-footer{flex-direction:column;gap:1.5rem;margin-top:1.5rem;padding-top:1.2rem}.post-share{justify-content:center;width:100%}.back-btn{width:100%;padding:.6rem 1.2rem}}@media (max-width:480px){.blog-post-page{border-radius:8px;padding:1.2rem;box-shadow:0 2px 8px #0000000f}.post-header{margin-bottom:1.5rem;padding-bottom:1rem}.post-header h2{margin-bottom:.6rem;font-size:1.5rem;line-height:1.3}.post-meta{gap:.4rem;font-size:.85rem}.post-category{padding:.2rem .6rem;font-size:.75rem}.post-content{margin-bottom:1.5rem;font-size:.95rem;line-height:1.6}.post-content h3{margin:1.2rem 0 .6rem;font-size:1.2rem}.post-content p{margin-bottom:1rem}.post-content ul,.post-content ol{margin-bottom:1rem;padding-left:1.5rem}.post-content img{border-radius:6px;margin:1rem 0}.post-footer{gap:1rem;margin-top:1.2rem;padding-top:1rem}.back-btn{padding:.5rem 1rem;font-size:.9rem}.post-share span{font-size:.85rem}.share-btn{padding:.4rem .6rem;font-size:.8rem}.post-not-found h2{font-size:1.5rem}.post-not-found p{font-size:.95rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.blog-post-page{animation:.5s forwards fadeIn}
*{box-sizing:border-box;margin:0;padding:0}body{color:#333;background-color:#f8f9fa;width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;overflow-x:hidden}.app{flex-direction:column;width:100%;min-height:100vh;display:flex;overflow-x:hidden}.main-content{box-sizing:border-box;flex:1;width:100%;margin-top:60px;padding:10px 4%}.introduction{box-sizing:border-box;width:100%;margin-bottom:0;padding:10px 4% 0}.calendar-page{box-sizing:border-box;background:#fff;border-radius:12px;width:100%;padding:1.5rem;box-shadow:0 4px 12px #00000014}.blog-page{text-align:center;box-sizing:border-box;background:#fff;border-radius:12px;width:100%;padding:1.5rem;box-shadow:0 4px 12px #00000014}.blog-page h2{color:#6c5ce7;margin-bottom:1rem;font-size:1.8rem}.blog-page p{color:#666;max-width:800px;margin:0 auto;font-size:1.1rem}@media (max-width:768px){.main-content{margin-top:50px;padding:8px 4%}.introduction{margin-bottom:0;padding:8px 4% 0}.calendar-page,.greeting-page,.blog-page{padding:1rem}.blog-page h2{font-size:1.5rem}.blog-page p{font-size:1rem}}@media (max-width:480px){.main-content{padding:5px 4%}.introduction{margin-bottom:0;padding:5px 4% 0}}.error-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;padding:2rem;display:flex}.error-page h1{color:#6c5ce7;margin-bottom:1rem;font-size:2rem}.error-page p{color:#666;margin:.5rem 0}
.copy-success-tip{color:#fff;z-index:1000;background-color:#000c;border-radius:4px;align-items:center;gap:8px;padding:10px 20px;animation:2s ease-in-out fadeInOut;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.copy-success-tip:before{content:"✓";color:#fff;text-align:center;background-color:#52c41a;border-radius:50%;width:16px;height:16px;font-size:12px;line-height:16px;display:inline-block}@keyframes fadeInOut{0%{opacity:0}15%{opacity:1}85%{opacity:1}to{opacity:0}}
.greeting-display{background:#fff;border-radius:12px;width:100%;max-width:800px;margin:24px auto 0;padding:1.5rem;box-shadow:0 4px 6px #0000001a}.greeting-content{width:100%;position:relative}.greeting-text-container{background:#f8f9fa;border-radius:8px;margin-bottom:16px;padding:16px;position:relative}.greeting-text{white-space:pre-wrap;word-wrap:break-word;color:#333;margin:0;padding:0;font-family:system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6}.greeting-actions{justify-content:center;gap:12px;margin-top:16px;display:flex}.action-button{color:#fff;cursor:pointer;background:#4169e1;border:none;border-radius:6px;justify-content:center;align-items:center;min-width:100px;padding:8px 24px;font-size:14px;transition:background-color .2s;display:flex}.action-button:hover{background:#3154b3}.regenerate-button{background:#4169e1}@media (max-width:768px){.greeting-display{box-sizing:border-box;width:auto;margin:20px 0 0;padding:1rem}.greeting-text-container{padding:12px 60px 12px 12px}.greeting-text{font-size:15px;line-height:1.5}.action-button{min-width:80px;padding:8px 16px;font-size:14px}.greeting-actions{gap:10px}}@media (max-width:480px){.greeting-display{border-radius:8px;margin:16px 0 0;padding:12px}.greeting-text-container{padding:10px 50px 10px 10px}.action-button{min-width:70px;padding:8px 12px;font-size:13px}.greeting-actions{gap:8px}}
.greeting-form{background:#fff;border-radius:12px;max-width:800px;margin:0 auto;padding:1.5rem;box-shadow:0 4px 6px #0000001a}.form-header{text-align:center;margin-bottom:1.5rem}.form-header h2{color:#1a1a1a;margin-bottom:1rem;font-size:1.8rem}.progress-bar{background:#e0e0e0;border-radius:2px;height:4px;overflow:hidden}.progress-fill{background:#4169e1;height:100%;transition:width .3s}.form-page{animation:.3s fadeIn}.form-row{justify-content:space-between;gap:2rem;margin-bottom:1.5rem;display:flex}.form-section{flex:1;align-items:center;gap:12px;width:100%;min-width:0;margin-bottom:0;display:flex;position:relative}.form-section label{color:#333;text-align:right;white-space:nowrap;min-width:80px;margin:0;font-size:1rem;font-weight:600}.input-row{align-items:center;margin-bottom:1rem;display:flex}.preset-options{width:100%;position:relative}.options-popup{z-index:1000;background-color:#fff;border:1px solid #eee;border-radius:6px;width:100%;max-height:200px;margin-top:4px;padding:8px;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 2px 8px #0000001a}@keyframes slideIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.preset-button{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;width:100%;padding:8px 12px;font-size:14px}.preset-button:hover{background-color:#f5f5f5}.preset-button.active{color:#1890ff;background-color:#e6f7ff}.custom-input{border:1px solid #ddd;border-radius:6px;width:100%;padding:8px 12px;font-size:14px}.custom-input:focus{border-color:#4169e1;outline:none;box-shadow:0 0 0 2px #4169e11a}.radio-group{white-space:nowrap;align-items:center;gap:.75rem;min-width:180px;height:32px;margin:0;display:flex}.radio-group label{cursor:pointer;align-items:center;gap:.5rem;font-weight:400;display:flex}.radio-group input[type=radio]{cursor:pointer;width:1.2rem;height:1.2rem;margin:0}.button-group{gap:1rem;margin-top:2rem;display:flex}.next-button,.back-button,.submit-button{cursor:pointer;border:none;border-radius:25px;padding:.75rem 1.5rem;font-size:1rem;transition:all .2s}.next-button,.submit-button{color:#fff;background:#4169e1;flex:1}.next-button:hover,.submit-button:hover{background:#3154b3}.back-button{color:#333;background:#f5f5f5}.back-button:hover{background:#e0e0e0}.next-button:disabled,.submit-button:disabled{cursor:not-allowed;background:#ccc}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.greeting-form{box-sizing:border-box;max-width:100%;padding:1.2rem}.form-row{flex-direction:column;gap:1.2rem;margin-bottom:1.2rem}.form-section{flex-direction:column;align-items:flex-start;gap:8px}.form-section label{text-align:left;min-width:auto}.preset-options,.custom-input{width:100%}.radio-group{flex-wrap:wrap;width:100%;min-width:auto;height:auto;margin-bottom:.5rem}.options-popup{-webkit-overflow-scrolling:touch;width:100%;max-height:180px;position:absolute;top:100%;left:0;overflow-y:auto}.button-group{flex-direction:column;width:100%}.submit-button{width:100%;padding:.8rem}.custom-input{height:44px}.preset-button{margin-bottom:3px;padding:10px 14px;font-size:15px}.options-popup{gap:3px;padding:6px}.custom-input{height:40px;font-size:15px;line-height:40px}}@media (max-width:480px){.greeting-form{border-radius:8px;padding:1rem}.form-header h2{font-size:1.5rem}.preset-button{height:auto;margin-bottom:4px;padding:12px 16px;font-size:16px;line-height:1.4}.options-popup{grid-template-columns:1fr;gap:4px;max-height:240px;padding:8px}.custom-input{height:44px;padding:0 12px;font-size:16px;line-height:44px}.radio-group{gap:.5rem}.radio-group label{font-size:.85rem}.radio-group input[type=radio]{width:1rem;height:1rem}.submit-button{border-radius:20px;padding:.7rem;font-size:.9rem}.form-section{margin-bottom:16px}.options-popup{max-height:160px}}.submit-button.loading{cursor:not-allowed;background:#7a8fd3;position:relative;overflow:hidden}.submit-button.loading:after{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:200%;height:100%;animation:1.5s infinite loading-shine;position:absolute;top:0;left:-100%}.loading-text{justify-content:center;align-items:center;gap:8px;display:flex}.loading-dots:after{content:"...";animation:1.5s infinite loading-dots}@keyframes loading-shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes loading-dots{0%,20%{content:"."}40%,60%{content:".."}80%,to{content:"..."}}.submit-button:disabled{cursor:not-allowed;opacity:.8;background:#a0a0a0}@media (max-width:480px){.submit-button.loading{font-size:.9rem}.loading-text{gap:4px}}
.greeting-introduction{color:#fff;box-sizing:border-box;background:linear-gradient(135deg,#8a6cff 0%,#6c5ce7 100%);width:100vw;margin:2rem calc(50% - 50vw);padding:60px 0;position:relative;overflow-x:hidden}.greeting-introduction-header{text-align:center;margin-bottom:3rem;padding:0 20px}.greeting-introduction-header h2{color:#fff;margin-bottom:1.5rem;font-size:2.5rem}.greeting-description{color:#ffffffe6;max-width:1000px;margin:0 auto;padding:0 20px;font-size:1.2rem;line-height:1.8}.greeting-features{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;max-width:1200px;margin:3rem auto 0;padding:0 20px;display:grid}.greeting-feature-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff1a;border-radius:12px;padding:1.5rem;transition:transform .3s;box-shadow:0 4px 6px #0000001a}.greeting-feature-card:hover{transform:translateY(-5px)}.greeting-feature-icon{vertical-align:middle;margin-right:10px;font-size:2rem;display:inline-block}.greeting-feature-card h3{color:#fff;vertical-align:middle;margin-bottom:.5rem;font-size:1.2rem;display:inline-block}.greeting-feature-card .title-row{align-items:center;margin-bottom:10px;display:flex}.greeting-feature-card p{color:#ffffffe6;margin-top:5px;line-height:1.5}@media (max-width:768px){.greeting-introduction{padding:40px 0}.greeting-description{max-width:100%;padding:0 15px;font-size:1.1rem}.greeting-introduction-header h2{font-size:0}.greeting-features{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}}@media (max-width:480px){.greeting-introduction{padding:30px 0}.greeting-introduction-header h2{font-size:0}.greeting-features{grid-template-columns:1fr;gap:1rem}.greeting-feature-card{padding:1.2rem}.greeting-description{padding:0 10px;font-size:1rem}}
.greeting-page-container{flex-direction:column;gap:30px;max-width:1200px;margin:0 auto;padding:20px;display:flex}.greeting-main-content{flex-direction:column;gap:20px;display:flex}.form-wrapper{width:100%;position:relative}@media (max-width:768px){.greeting-page-container{gap:20px;padding:15px}.greeting-main-content{gap:15px}.form-wrapper{width:100%;padding:0}.form-wrapper .ant-select-dropdown{width:calc(100vw - 30px)!important;max-width:none!important;position:fixed!important;left:15px!important}.form-wrapper input,.form-wrapper .ant-select{width:100%!important;max-width:100%!important}.form-wrapper .ant-select-dropdown{max-height:50vh!important;overflow-y:auto!important}}@media (max-width:480px){.greeting-page-container{padding:10px}.form-wrapper .ant-select-dropdown{width:calc(100vw - 20px)!important;left:10px!important}.form-wrapper input,.form-wrapper .ant-select-selector{min-height:44px!important}}
.introduction{color:#fff;box-sizing:border-box;background:linear-gradient(135deg,#8a6cff 0%,#6c5ce7 100%);width:100%;margin:.5rem 0;padding:60px 0;position:relative;overflow-x:hidden}.introduction-container{text-align:center;box-sizing:border-box;max-width:1200px;margin:0 auto;padding:0 4%}.introduction-header{text-align:center;margin-bottom:3rem}.introduction-header h1{color:#fff;margin-bottom:1.5rem;font-size:2.5rem}.introduction-header .description{color:#ffffffe6;max-width:1000px;margin:0 auto;font-size:1.2rem;line-height:1.8}.features{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:3rem;display:grid}.feature-card{background:#fff;border-radius:12px;padding:1.5rem;transition:transform .3s;box-shadow:0 4px 6px #0000001a}.feature-card:hover{transform:translateY(-5px)}.feature-icon{margin-right:10px;font-size:2rem}.feature-card h3{color:#fff;margin-bottom:.5rem;font-size:1.2rem}.feature-card p{color:#ffffffe6;font-size:1rem;line-height:1.5}@media (max-width:768px){.introduction{margin-top:50px;padding:40px 0}.introduction-container{padding:0 4%}.introduction-header h1{font-size:2rem}.introduction-header .description{font-size:1.1rem}.features{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}}@media (max-width:480px){.introduction{margin:.5rem auto;padding:0 1rem}.introduction-container{padding:0 3%}.introduction-header h1{font-size:1.8rem}.introduction-header .description{font-size:1rem}.features{grid-template-columns:1fr;gap:1rem}.feature-card{padding:1.2rem}}
.privacy-policy-container{background:#fff;border-radius:12px;max-width:1000px;margin:60px auto;padding:40px;line-height:1.8;box-shadow:0 2px 12px #0000000d}.privacy-policy-container h1{color:#1a1a1a;text-align:center;border-bottom:1px solid #eee;margin-bottom:30px;padding-bottom:20px;font-size:32px;font-weight:600}.privacy-policy-container h2{color:#2c3e50;border-left:4px solid #3498db;margin:35px 0 20px;padding-left:15px;font-size:24px;font-weight:500}.privacy-policy-container p{color:#4a4a4a;text-align:justify;margin-bottom:20px;padding:0 15px;font-size:16px}@media (max-width:768px){.privacy-policy-container{margin:20px auto;padding:20px}.privacy-policy-container h1{margin-bottom:25px;font-size:28px}.privacy-policy-container h2{margin:25px 0 15px;font-size:20px}.privacy-policy-container p{padding:0 10px;font-size:15px}}.privacy-policy-container a{color:#3498db;text-decoration:none;transition:color .3s}.privacy-policy-container a:hover{color:#2980b9;text-decoration:underline}.privacy-policy-container .email{background-color:#f8f9fa;border-radius:4px;padding:2px 6px;font-family:monospace}.privacy-policy-section{background:#f8f9fa;border-radius:8px;margin:20px 0;padding:20px}.privacy-policy-container ul{margin-bottom:20px;padding-left:35px}.privacy-policy-container li{color:#4a4a4a;margin-bottom:10px}.last-updated{text-align:center;color:#666;margin-bottom:30px;font-style:italic}
.terms-container{background:#fff;border-radius:12px;max-width:1000px;margin:60px auto;padding:40px;line-height:1.8;box-shadow:0 2px 12px #0000000d}.terms-container h1{color:#1a1a1a;text-align:center;border-bottom:1px solid #eee;margin-bottom:20px;padding-bottom:20px;font-size:32px;font-weight:600}.last-updated{text-align:center;color:#666;margin-bottom:30px;font-style:italic}.terms-container h2{color:#2c3e50;border-left:4px solid #3498db;margin:35px 0 20px;padding-left:15px;font-size:24px;font-weight:500}.terms-container p{color:#4a4a4a;text-align:justify;margin-bottom:20px;padding:0 15px;font-size:16px}.terms-section{background:#f8f9fa;border-radius:8px;margin:20px 0;padding:20px}.terms-footer{text-align:center;color:#666;border-top:1px solid #eee;margin-top:40px;padding-top:20px}.email{background-color:#f8f9fa;border-radius:4px;padding:2px 6px;font-family:monospace}@media (max-width:768px){.terms-container{margin:20px auto;padding:20px}.terms-container h1{margin-bottom:25px;font-size:28px}.terms-container h2{margin:25px 0 15px;font-size:20px}.terms-container p{padding:0 10px;font-size:15px}}
