@charset "UTF-8";.weui-navigation-bar{--weui-FG-0:rgba(0,0,0,.9);--height: 40px;--left: 16px}.weui-navigation-bar__h-space{width:100%;display:block;height:70px}.weui-navigation-bar{overflow:hidden;color:var(--weui-FG-0);flex:none}.weui-navigation-bar--fixed{position:fixed;top:0;left:0;right:0;z-index:999;background:#fff}.weui-navigation-bar__inner{position:relative;top:0;left:0;height:var(--height);display:flex;flex-direction:row;align-items:center;justify-content:center;width:100%;box-sizing:border-box}.weui-navigation-bar__left{position:relative;padding-left:var(--left);display:flex;flex-direction:row;align-items:center;height:100%;box-sizing:border-box}.weui-navigation-bar__logo{height:100%;display:flex;align-items:center}.weui-navigation-bar__logo img{width:150px;height:38.5px;object-fit:contain}.weui-navigation-bar__center{font-size:8.5px;text-align:center;position:relative;display:flex;flex-direction:row;align-items:center;justify-content:center;font-weight:700;flex:1;height:100%}.weui-navigation-bar__medal-row{display:flex;flex-direction:row;align-items:center;padding:5px var(--left);background:#fff}.weui-navigation-bar__medal-icon{width:16px;height:16px;margin-right:6px}.weui-navigation-bar__medal-icon img{width:100%;height:100%;object-fit:contain}.weui-navigation-bar__medal-text{flex:1;font-size:14px;color:var(--深绿, rgb(65, 143, 52));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weui-navigation-bar__divider{height:.5px;background:#e6e6e6;width:100%}@keyframes loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.kongjian-item{display:flex;flex-direction:row;align-items:flex-start;gap:8px;padding:0;border-top:none;cursor:pointer;transition:transform .2s ease-out}.kongjian-item:hover{transform:translate(2px)}.kongjian-item__avatar{width:68px;height:92px}.kongjian-item__avatar img{width:100%;height:100%;object-fit:cover;display:block}.kongjian-item__info{flex:1;display:flex;flex-direction:column;gap:8px;margin-top:1px}.kongjian-item__name{font-size:16px;font-weight:500;color:#10182a;line-height:19px;letter-spacing:1px;flex-direction:row;display:flex;align-items:center;gap:6px}.kongjian-item__years{color:#10182a;font-size:14px;font-weight:200;line-height:17px;letter-spacing:0px;text-align:center}.kongjian-item__description{color:#8b8b8b;font-size:12px;line-height:17px;letter-spacing:0px;text-align:left;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.zhuanti-kongjian-item{display:flex;flex-direction:row;align-items:flex-start;gap:8px;padding:0;cursor:pointer}.zhuanti-kongjian-item__avatar{width:70px;height:70px;border-radius:5px;overflow:hidden;line-height:0}.zhuanti-kongjian-item__avatar img{width:100%;height:100%;object-fit:cover;display:block}.zhuanti-kongjian-item__info{flex:1;display:flex;flex-direction:column;gap:8px;margin-top:1px}.zhuanti-kongjian-item__name{font-size:16px;font-weight:500;color:#10182a;line-height:19px;letter-spacing:1px;flex-direction:row;display:flex;align-items:center;gap:6px}.zhuanti-kongjian-item__description{color:#8b8b8b;font-family:PingFang SC;font-size:12px;line-height:17px;letter-spacing:0px;text-align:left;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.index-page{display:flex;flex-direction:column;background-color:#fff;min-height:100vh;padding-bottom:50px;max-width:480px;margin-left:auto;margin-right:auto}.index-page__banner{position:relative;margin:20px auto;border-radius:20px;overflow:hidden;width:calc(100% - 32px);aspect-ratio:343/220;transition:transform .2s ease-in-out,background-color .2s ease-in-out;box-shadow:0 0 2px #00000040;cursor:pointer}.index-page__banner-bg{width:100%;height:100%;position:absolute;top:0;left:0}.index-page__banner:hover,.index-page__banner:active{transform:scale(1.05)}.index-page__banner-title{font-size:16px;font-weight:700;margin-bottom:8px;text-shadow:0 1px 2px rgba(255,255,255,.8)}.index-page__banner-subtitle{font-size:12px;margin-bottom:16px;text-shadow:0 .5px 1px rgba(255,255,255,.8)}.index-page__banner-btn{background-color:#4caf50;color:#fff;border:none;padding:8px 24px;border-radius:16px;font-size:12px;font-weight:700;box-shadow:0 2px 4px #0003}.index-page__service-cards{display:flex;margin:0 16px 20px;gap:7px}.index-page__service-card{flex:1;display:flex;flex-direction:row;align-items:center;gap:8px;width:168px;height:82px;border-radius:7px;box-shadow:0 0 2px #00000040;background:#fff;cursor:pointer}.index-page__service-icon{width:40px;height:40px;margin-left:15px}.index-page__service-icon img{width:100%;height:100%;object-fit:contain;display:block}.index-page__service-content{display:flex;flex-direction:column}.index-page__service-title{font-size:14px;font-weight:700;margin-bottom:4px;color:#10182a}.index-page__service-desc{font-size:10px;color:#666}.index-page__ad-carousel{margin:0 16px 20px;height:100px;background:#f0f0f0;border-radius:6px;display:flex;align-items:center;justify-content:center}.index-page__ad-placeholder{font-size:12px;color:#999}.index-page__recent-kongjian{margin:0 16px 20px;background-color:#fff;border-radius:6px}.index-page__section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.index-page__section-title{color:#10182a;font-family:HarmonyOS Sans SC;font-size:18px;font-weight:700;line-height:21px;letter-spacing:1px;text-align:left}.index-page__section-more{color:#8b8b8b;font-size:12px;line-height:14px;letter-spacing:0px;text-align:center;border-radius:29px;background:#e6e6e6;font-weight:400;padding:10px 16px;cursor:pointer}.index-page__kongjian-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.index-page__section-status{padding:12px;border-radius:8px;font-size:13px;color:#8b8b8b;text-align:center;background-color:#f8f8f8}.index-page__section-status--error{color:#d93025;background-color:#fff3f1}@media(min-width:768px){.index-page{max-width:640px}}.memorial-card{position:relative;background-color:#fff;border-radius:6px;padding:10px;text-align:center;box-shadow:0 1px 4px #0000000d;overflow:hidden;cursor:pointer;transition:transform .2s ease-out}.memorial-card:hover{transform:translateY(-2px)}.memorial-card__content{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.memorial-card__avatar{position:relative;width:80px;height:80px;margin:0 auto 10px;border-radius:6px;overflow:hidden;background-color:#f0f0f0;line-height:0}.memorial-card__avatar img{width:100%;height:100%;object-fit:cover;display:block}.memorial-card__lock{position:absolute;top:0;left:0;width:24px;height:24px;background-color:#0009;border-radius:0 0 10px;display:flex;align-items:center;justify-content:center}.memorial-card__lock img{width:12px;height:12px}.memorial-card__name{font-size:16px;font-weight:700;color:#333;margin-bottom:4px}.memorial-card__years{font-size:12px;color:#999;margin-bottom:10px}.memorial-card__button{background-color:#e8f5e9;color:#4caf50;font-size:14px;padding:6px;border-radius:4px;font-weight:500;width:100%}.memorial-card--locked{opacity:.8}.kongjian-page{display:flex;flex-direction:column;background-color:#fff;min-height:100vh;padding-bottom:30px;margin-top:45px;max-width:480px;margin-left:auto;margin-right:auto}.kongjian-page__tab-bar{position:fixed;z-index:998;top:70px;left:0;right:0;display:flex;padding:10px 15px;flex-direction:row;justify-content:space-around;align-items:center;border-bottom:1px solid #E6E6E6;background:#fff}.kongjian-page__tab-item{flex:1;text-align:center;font-size:12px;color:#999;padding:5px 0;cursor:pointer}.kongjian-page__tab-item--active{color:#418f34;font-weight:700;border-bottom:1px solid #418F34}.kongjian-page__tab-content{flex:1}.kongjian-page__card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:10px;background-color:#f8f8f8}.kongjian-page__card-grid-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 0;margin:0;height:40vh}.kongjian-page__empty-icon{width:40px;height:40px;margin-bottom:20px}.kongjian-page__empty-label{font-size:12px;color:var(--橙红, rgb(255, 128, 10))}.kongjian-page__loading{display:flex;align-items:center;justify-content:center;padding:40px 0;font-size:14px;color:#999}.kongjian-page__loading-more{display:flex;align-items:center;justify-content:center;padding:20px 0;font-size:14px;color:#999;background-color:#f8f8f8}.kongjian-page__search-section{padding:15px;background-color:#fff;border-bottom:1px solid var(--淡绿, rgb(218, 238, 209))}.kongjian-page__search-label{margin-bottom:19px;color:var(--深绿, rgb(65, 143, 52));font-family:Noto Sans SC;font-style:Regular;font-size:16px;font-weight:400;line-height:24px;letter-spacing:-1px;text-align:center}.kongjian-page__search-box{display:flex;align-items:center;flex-direction:row;width:250px;margin:0 auto 19px;box-sizing:border-box;border:1px solid rgb(204,204,204);border-radius:46px;background:#fff;padding:0 10px;height:36px}.kongjian-page__search-input{border:none;background:transparent;outline:none;flex:1;font-size:13px;color:#333;padding:0 5px}.kongjian-page__search-icon{width:16px;height:16px;margin-bottom:3px}.kongjian-page__search-icon img{width:100%;height:100%;object-fit:contain}.kongjian-page__recent-section{padding:16px;background-color:#fff}.kongjian-page__section-title{color:var(--黑色, rgb(16, 24, 42));font-family:HarmonyOS Sans SC;font-size:18px;font-weight:700;line-height:21px;letter-spacing:1px;text-align:left;margin-bottom:33px;text-align:center}.kongjian-page__kongjian-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}@media(min-width:768px){.kongjian-page{max-width:640px}}.qifu-page{display:flex;flex-direction:column;background-color:#fff;min-height:100vh;padding-bottom:30px}.qifu-page__content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.qifu-page__content h1{font-size:18px;font-weight:700;margin-bottom:10px;color:#333}.qifu-page__content p{font-size:12px;color:#666}.mine-page{display:flex;flex-direction:column;background-color:#f5f5f5;min-height:100vh;padding-bottom:30px;max-width:480px;margin-left:auto;margin-right:auto}@media(min-width:768px){.mine-page{max-width:640px}}.mine-page__content{flex:1;display:flex;flex-direction:column;padding:0}.mine-page__user-info{display:flex;align-items:center;padding:20px;background-color:#fff;margin-bottom:10px}.mine-page__user-avatar{width:60px;height:60px;border-radius:50%;background-color:#e8f5e8;display:flex;align-items:center;justify-content:center;margin-right:15px;overflow:hidden}.mine-page__avatar-image{width:100%;height:100%;object-fit:cover}.mine-page__user-details{flex:1}.mine-page__user-name{font-size:16px;font-weight:700;color:#333;margin:0 0 5px}.mine-page__user-id{font-size:12px;color:#999;margin:0}.mine-page__bind-phone{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background-color:#fff9e6;margin-bottom:10px}.mine-page__bind-text{font-size:14px;color:#ff9800}.mine-page__info-icon{width:16px;height:16px;border-radius:50%;background-color:#ff9800;color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center}.mine-page__list{background-color:#fff}.mine-page__list-item{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #f0f0f0;cursor:pointer}.mine-page__list-item:last-child{border-bottom:none}.mine-page__list-item-text{font-size:14px;color:#333}.mine-page__list-item-action{font-size:12px;color:#4caf50}.mine-page__list-item-arrow{font-size:16px;color:#999}.mine-page__loading{display:flex;align-items:center;justify-content:center;height:200px;font-size:14px;color:#999}.mine-page__bean-info{display:flex;align-items:center}.mine-page__bean-icon{font-size:14px;color:#ffc107;margin-right:5px}.mine-page__bean-count{font-size:14px;color:#333;margin-right:5px}.mine-page__storage-item{flex-direction:column;align-items:flex-start;padding:15px 20px}.mine-page__storage-info{align-self:flex-end;font-size:12px;color:#999;margin-top:-20px;margin-bottom:10px}.mine-page__storage-bar{width:100%;height:4px;background-color:#f0f0f0;border-radius:2px;overflow:hidden;margin-top:10px}.mine-page__storage-progress{height:100%;background-color:#4caf50;border-radius:2px}.header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;background:#fff;border-bottom:1px solid rgba(0,0,0,.06)}.header__title{flex:1;font-size:16px;font-weight:600;color:#1f1f1f;text-align:center}.header__actions{display:flex;gap:8px;flex-shrink:0;min-width:32px}.header__icon-button{flex-shrink:0;width:32px;height:32px;border:none;background:#f4f5f7;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;color:#1a1a1a}.header__icon-button img{width:18px;height:18px}.profile-page{display:flex;flex-direction:column;background-color:#f5f5f5;min-height:100vh;max-width:480px;margin-left:auto;margin-right:auto}@media(min-width:768px){.profile-page{max-width:640px}}.profile-page__content{flex:1;padding:0}.profile-page__item{display:flex;justify-content:space-between;align-items:center;padding:15px 16px;background-color:#fff;border-bottom:1px solid #f0f0f0}.profile-page__item-label{font-size:14px;color:#333}.profile-page__item-value{display:flex;align-items:center;font-size:14px;color:#999}.profile-page__arrow{margin-left:8px;font-size:16px;color:#999}.profile-page__bind-text{color:#ff9800}.profile-page__logo{margin-left:8px;font-size:14px;font-weight:700;color:#d32f2f}.profile-page__avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;margin-right:8px}.profile-page__wechat-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;margin-left:8px}.profile-page__loading{display:flex;align-items:center;justify-content:center;height:200px;font-size:14px;color:#999}.profile-page__name-edit{display:flex;flex-direction:column;align-items:flex-end;flex:1}.profile-page__name-input{width:100%;padding:8px 12px;border:1px solid #e5e5e5;border-radius:4px;font-size:14px;margin-bottom:8px;outline:none;box-sizing:border-box}.profile-page__name-buttons{display:flex;gap:8px}.profile-page__name-button{padding:4px 12px;border:1px solid #e5e5e5;border-radius:4px;font-size:12px;cursor:pointer;background:#fff}.profile-page__name-save{background:#1890ff;color:#fff;border-color:#1890ff}.profile-page__name-cancel{background:#f5f5f5;color:#333;border-color:#e5e5e5}.profile-page__modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.profile-page__modal{background-color:#fff;border-radius:8px;width:85%;max-width:400px;overflow:hidden;box-shadow:0 4px 12px #00000026}.profile-page__modal-header{padding:16px 20px;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;justify-content:space-between}.profile-page__modal-header h3{margin:0;font-size:16px;font-weight:600;color:#333}.profile-page__modal-close{border:none;background:none;font-size:24px;cursor:pointer;color:#999;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.profile-page__modal-body{padding:20px}.profile-page__modal-input{width:100%;padding:12px 16px;border:1px solid #e5e5e5;border-radius:4px;font-size:14px;outline:none;box-sizing:border-box}.profile-page__modal-footer{padding:16px 20px;border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end;gap:12px}.profile-page__modal-button{padding:8px 24px;border:1px solid #e5e5e5;border-radius:4px;font-size:14px;cursor:pointer}.profile-page__modal-cancel{background:#fff;color:#333;border-color:#e5e5e5}.profile-page__modal-save{background:#f5c100;color:#fff;border-color:#f5c100}.profile-page__section-title{padding:12px 16px;font-size:12px;color:#999;background-color:#f5f5f5}.profile-page__unbind-button{padding:30px 16px;display:flex;justify-content:center}.profile-page__unbind-btn{width:100%;padding:12px;border:1px solid #d32f2f;background-color:#fff;color:#d32f2f;font-size:14px;border-radius:4px;cursor:pointer}.profile-page__unbind-btn:hover{background-color:#fef5f5}.memorial-detail{min-height:100vh;background:#f7f8f6;padding-bottom:110px;color:#1a1a1a}.memorial-detail__content{max-width:480px;margin:0 auto}.memorial-detail__hero{position:relative;background:#f7f6f3 center/cover no-repeat;padding:16px 16px 63px;text-align:center}.memorial-detail__hero-top{position:absolute;top:16px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:center;z-index:1}.memorial-detail__button-container{display:flex;align-items:center;justify-content:center}.memorial-detail__button-container--invite{min-width:100px}.memorial-detail__button-container--music{width:30px;height:30px}.memorial-detail__invite{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(0,0,0,.08);background:#fff;padding:6px 12px;border-radius:18px;font-size:13px;color:#2f2f2f}.memorial-detail__invite img{width:18px;height:18px}.memorial-detail__music{width:30px;height:30px;border-radius:50%;border:none;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #00000014;color:#1a1a1a}.memorial-detail__portrait-wrap{margin:34px auto 10px;width:120px;height:140px}.memorial-detail__portrait{width:100%;height:100%;border-radius:16px;object-fit:cover;box-shadow:0 6px 18px #0000001f;background:#fff}.memorial-detail__candle{position:absolute;right:0;top:80px;width:52px;height:42px;background:#fff;border-radius:21px 0 0 21px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px #0000001f;z-index:1}.memorial-detail__candle img{width:24px;height:24px;margin-left:6px;object-fit:contain}.memorial-detail__name{font-size:20px;font-weight:700;margin-top:6px}.memorial-detail__years{font-size:14px;color:#8c8c8c;margin-top:4px}.memorial-detail__hero-actions{position:absolute;bottom:16px;left:0;right:0;display:flex;justify-content:center;gap:12px;flex-wrap:wrap;z-index:1}.memorial-detail__action-chip{display:inline-flex;align-items:center;gap:8px;border:none;background:#fff;padding:8px 14px;border-radius:18px;font-size:13px;color:#2d2d2d;box-shadow:0 6px 14px #0000000f}.memorial-detail__action-chip img{width:16px;height:16px}.memorial-detail__tabs{display:flex;justify-content:space-around;background:#fff;border-bottom:1px solid rgba(0,0,0,.06)}.memorial-detail__tab{flex:1;padding:14px 0;font-size:15px;color:#8f8f8f;background:transparent;border:none;position:relative}.memorial-detail__tab--active{color:#4c9b49;font-weight:600}.memorial-detail__tab--active:after{content:"";position:absolute;bottom:0;left:18%;width:64%;height:2px;background:#4c9b49;border-radius:2px}.memorial-detail__card{margin:16px;padding:18px;background:#fff;border-radius:14px;box-shadow:0 4px 16px #00000014;position:relative}.memorial-detail__card-title{font-size:18px;font-weight:700;margin-bottom:10px}.memorial-detail__card-content{position:relative}.memorial-detail__card-content--collapsed{max-height:110px;overflow:hidden}.memorial-detail__card-content--collapsed:after{content:"";position:absolute;left:0;right:0;bottom:0;height:72px;background:linear-gradient(180deg,#fff0,#fff 80%);pointer-events:none}.memorial-detail__card-text{font-size:14px;color:#3b3b3b;line-height:1.6;min-height:90px;word-break:break-word}.memorial-detail__card-text>:first-child{margin-top:0}.memorial-detail__card-text>:last-child{margin-bottom:0}.memorial-detail__card-text h1,.memorial-detail__card-text h2,.memorial-detail__card-text h3,.memorial-detail__card-text h4,.memorial-detail__card-text h5,.memorial-detail__card-text h6{margin:0 0 12px;font-size:18px;line-height:1.5;color:#1f1f1f}.memorial-detail__card-text p,.memorial-detail__card-text ul,.memorial-detail__card-text ol,.memorial-detail__card-text blockquote{margin:0 0 12px}.memorial-detail__card-text ul,.memorial-detail__card-text ol{padding-left:20px}.memorial-detail__card-text blockquote{padding-left:12px;border-left:3px solid rgba(76,155,73,.2);color:#666}.memorial-detail__card-text img{display:block;max-width:100%;height:auto;margin:12px auto;border-radius:12px}.memorial-detail__card-text a{color:#4c9b49;text-decoration:underline}.memorial-detail__expand{display:flex;align-items:center;gap:6px;border:none;background:#0000000d;color:#3b3b3b;padding:6px 12px;border-radius:16px;font-size:12px;margin-top:12px;margin-left:auto;cursor:pointer}.memorial-detail__expand-icon{transition:transform .2s ease}.memorial-detail__expand-icon--expanded{transform:rotate(180deg)}.memorial-detail__card-footer{display:flex;align-items:center;margin-top:18px;font-size:12px;color:#8a8a8a}.memorial-detail__card-footer-right{margin-left:auto;display:flex;align-items:center;gap:16px}.memorial-detail__life-card-footer{display:flex;align-items:center;margin-top:18px;font-size:12px;color:#8a8a8a}.memorial-detail__life-card-footer-right{margin-left:auto;display:flex;align-items:center;gap:16px}.memorial-detail__memory-meta{display:flex;align-items:center;width:100%;margin-top:18px;gap:10px}.memorial-detail__memory-meta .memorial-detail__menu-container{margin-left:auto}.memorial-detail__menu-container{position:relative}.memorial-detail__menu-button{border:none;background:transparent;font-size:18px;color:#8a8a8a;cursor:pointer;padding:0 4px}.memorial-detail__menu-dropdown{position:absolute;top:100%;right:0;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;padding:8px 0;min-width:120px;z-index:100;margin-top:4px}.memorial-detail__menu-item{display:flex;align-items:center;gap:8px;border:none;background:transparent;padding:8px 16px;width:100%;text-align:left;font-size:14px;color:#333;cursor:pointer}.memorial-detail__menu-item:hover{background:#f5f5f5}.memorial-detail__section{padding:8px 16px 0}.memorial-detail__section-title{font-size:18px;font-weight:700;margin:10px 0 12px}.memorial-detail__offering-list-container{width:100%;overflow:hidden;margin-bottom:12px;position:relative}.memorial-detail__offering-list{display:flex;gap:10px;padding:0 4px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5;scroll-behavior:smooth;transition:transform .3s cubic-bezier(.25,.46,.45,.94)}.memorial-detail__offering-list::-webkit-scrollbar{height:6px}.memorial-detail__offering-list::-webkit-scrollbar-track{background:#f5f5f5;border-radius:3px}.memorial-detail__offering-list::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:3px}.memorial-detail__offering-list::-webkit-scrollbar-thumb:hover{background:#c1c1c1}.memorial-detail__offering-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#ffffffe6;border:1px solid rgba(0,0,0,.1);border-radius:50%;color:#4c9b49;font-size:18px;cursor:pointer;z-index:10;opacity:0;pointer-events:none;transition:opacity .2s ease,background .2s ease;box-shadow:0 2px 8px #0000001a}.memorial-detail__offering-arrow:hover{background:#fff;box-shadow:0 4px 12px #00000026}.memorial-detail__offering-arrow--left{left:2px}.memorial-detail__offering-arrow--right{right:2px}.memorial-detail__offering-arrow--visible{opacity:1;pointer-events:auto}.memorial-detail__offering{flex:0 0 calc(33.333% - 10px);min-width:calc(33.333% - 10px);max-width:calc(33.333% - 10px);background:#dff0d8;border-radius:14px;padding:10px;text-align:left;display:flex;flex-direction:column;gap:4px}.memorial-detail__loading-more{flex:0 0 calc(33.333% - 10px);min-width:calc(33.333% - 10px);max-width:calc(33.333% - 10px);display:flex;align-items:center;justify-content:center;padding:20px;color:#666;font-size:14px}.memorial-detail__offering-image{width:100%;height:80px;display:flex;align-items:center;justify-content:center}.memorial-detail__offering-image img{width:70px;height:70px;object-fit:contain}.memorial-detail__offering-name{font-size:12px;color:#5a5a5a}.memorial-detail__offering-contributor{font-size:13px;font-weight:600}.memorial-detail__offering-time{font-size:11px;color:#8a8a8a}.memorial-detail__dots{display:flex;justify-content:center;gap:6px;margin:12px 0 4px}.memorial-detail__dot{width:8px;height:8px;border-radius:50%;background:#d9d9d9;border:none;padding:0;cursor:pointer;transition:background-color .2s ease,transform .2s ease}.memorial-detail__dot:hover{transform:scale(1.1)}.memorial-detail__dot--active{background:#6bb15f}.memorial-detail__message-list{display:flex;flex-direction:column;gap:10px;padding-bottom:16px}.memorial-detail__message{background:#dff0d8;border-radius:14px;padding:12px;color:#2f2f2f}.memorial-detail__message-text{font-size:14px;line-height:1.6}.memorial-detail__message-meta{display:flex;align-items:center;gap:10px;margin-top:10px}.memorial-detail__message-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover}.memorial-detail__message-author{display:flex;flex-direction:column;gap:2px}.memorial-detail__message-name{font-size:13px;font-weight:600}.memorial-detail__message-name span{font-weight:400;color:#8a8a8a;margin-left:6px}.memorial-detail__message-time{font-size:12px;color:#9a9a9a}.memorial-detail__message-reply{margin:8px 0 4px;padding:8px 10px;background:#0000000d;border-radius:8px;font-size:13px;color:#555;line-height:1.5}.memorial-detail__message-reply-label{font-weight:600;color:#4c9b49;margin-right:2px}.memorial-detail__load-more{display:block;width:100%;padding:10px 0;margin-top:4px;background:none;border:1px solid #c7e0c4;border-radius:20px;font-size:13px;color:#4c9b49;cursor:pointer;text-align:center;transition:background .2s}.memorial-detail__load-more:hover{background:#4c9b490d}.memorial-detail__load-more:disabled{color:#aaa;cursor:not-allowed}.memorial-detail__end{text-align:center;padding:14px 0 20px;color:#9a9a9a;font-size:12px}.memorial-detail__life-card{margin:16px;padding:18px;background:#dff0d8;border-radius:14px;position:relative}.memorial-detail__life-card-title{font-size:18px;font-weight:700;margin-bottom:10px}.memorial-detail__life-card-content{font-size:14px;color:#3b3b3b;line-height:1.6;min-height:60px;position:relative}.memorial-detail__life-card-content--collapsed{max-height:110px;overflow:hidden}.memorial-detail__life-card-content--collapsed:after{content:"";position:absolute;left:0;right:0;bottom:0;height:72px;background:linear-gradient(180deg,#dff0d800,#dff0d8 80%);pointer-events:none}.memorial-detail__life-card-footer{display:flex;gap:16px;margin-top:18px;font-size:12px;color:#8a8a8a}.memorial-detail__life-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;background:#fff;margin:16px;border-radius:14px;box-shadow:0 4px 16px #00000014}.memorial-detail__life-empty-icon{color:#4c9b49;margin-bottom:10px;width:40px;height:40px}.memorial-detail__life-empty-text{font-size:12px;color:#8b8b8b;line-height:1.6;margin-bottom:30px;max-width:80%}.memorial-detail__life-empty-btn{background:#3f8f3a;color:#fff;border:none;border-radius:24px;padding:12px 24px;font-size:16px;font-weight:600;cursor:pointer}.memorial-detail__bottom-bar{position:fixed;right:max(16px,50% - 240px + 16px);bottom:16px;left:auto;padding:0;background:transparent;display:flex;justify-content:flex-end;gap:12px;border-top:none;z-index:9}.memorial-detail__primary-btn,.memorial-detail__secondary-btn{flex:0 0 auto;border-radius:24px;border:none;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:600}.memorial-detail__primary-btn:disabled,.memorial-detail__secondary-btn:disabled{opacity:.6;cursor:not-allowed}.memorial-detail__primary-btn{background:#3f8f3a;color:#fff}.memorial-detail__secondary-btn{background:#fff;color:#3f8f3a;border:1px solid #3f8f3a}.memorial-detail__primary-btn img,.memorial-detail__secondary-btn img{width:18px;height:18px}.memorial-detail__album-section{padding:16px}.memorial-detail__album-file-input{display:none}.memorial-detail__album-panel{background:#fff;border-radius:18px;box-shadow:0 8px 24px #0000000f;padding:18px 16px 16px}.memorial-detail__album-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.memorial-detail__album-title{margin:0;font-size:18px;font-weight:700;color:#1f1f1f}.memorial-detail__album-subtitle{margin:8px 0 0;font-size:13px;line-height:1.6;color:#7c7c7c}.memorial-detail__album-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 12px;border-radius:999px;background:#eef6ed;color:#3f8f3a;font-size:12px;font-weight:600}.memorial-detail__album-badge--active{background:#3f8f3a;color:#fff}.memorial-detail__album-status,.memorial-detail__album-manage-tip{margin-top:14px;padding:12px 14px;border-radius:14px;font-size:13px;line-height:1.6}.memorial-detail__album-status--success{background:#eef7ec;color:#2f7a2b}.memorial-detail__album-status--error{background:#fff1ef;color:#c9483d}.memorial-detail__album-manage-tip{background:#f7f8f6;color:#666}.memorial-detail__album-feedback,.memorial-detail__album-empty,.memorial-detail__loading,.memorial-detail__error{margin-top:16px;min-height:220px;border-radius:16px;background:linear-gradient(180deg,#fbfbfa,#f3f5f1);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px 20px;color:#666}.memorial-detail__album-feedback p,.memorial-detail__loading p,.memorial-detail__error p{margin:0;font-size:14px;line-height:1.7}.memorial-detail__album-feedback-btn,.memorial-detail__album-empty-btn{margin-top:16px;border:none;border-radius:999px;background:#3f8f3a;color:#fff;font-size:14px;font-weight:600;padding:11px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.memorial-detail__album-empty-icon{width:70px;height:70px;border-radius:24px;background:#3f8f3a1a;color:#3f8f3a;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center}.memorial-detail__album-empty-text{margin:16px 0 0;max-width:260px;font-size:14px;line-height:1.7;color:#777}.memorial-detail__album-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:16px}.memorial-detail__album-item{background:#fbfbfa;border-radius:14px;overflow:hidden;border:1px solid rgba(63,143,58,.08);box-shadow:0 6px 18px #0000000a}.memorial-detail__album-item--manage{border-color:#3f8f3a2e;box-shadow:0 10px 24px #3f8f3a14}.memorial-detail__album-cover{position:relative;width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#edf1ea}.memorial-detail__album-image{width:100%;height:100%;object-fit:cover;display:block}.memorial-detail__album-order{position:absolute;top:10px;left:10px;min-width:38px;height:28px;padding:0 8px;border-radius:999px;background:#111111b3;color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.memorial-detail__album-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 12px 0}.memorial-detail__album-date,.memorial-detail__album-order-text{font-size:12px;color:#777}.memorial-detail__album-order-text{font-weight:600;color:#4d4d4d}.memorial-detail__album-actions-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px}.memorial-detail__album-control-btn{min-height:36px;border:1px solid rgba(63,143,58,.14);border-radius:12px;background:#fff;color:#3f8f3a;font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px}.memorial-detail__album-control-btn--danger{border-color:#c9483d24;color:#c9483d}.memorial-detail__album-control-btn:disabled{opacity:.45;cursor:not-allowed}.memorial-detail__memory-actions{display:flex;justify-content:flex-end;padding:16px;background:#fff;border-bottom:1px solid rgba(0,0,0,.06)}.memorial-detail__memory-add-btn{display:inline-flex;align-items:center;gap:8px;border:none;background:#4c9b49;color:#fff;padding:8px 16px;border-radius:18px;font-size:14px;font-weight:600;cursor:pointer}.memorial-detail__memory-list{padding:16px}.memorial-detail__memory-card{background:#e8f5e8;border-radius:14px;padding:16px;margin-bottom:16px;box-shadow:0 4px 16px #00000014}.memorial-detail__memory-title{font-size:16px;font-weight:600;margin-bottom:10px;color:#333}.memorial-detail__memory-content{font-size:14px;color:#333;line-height:1.6;position:relative}.memorial-detail__memory-content--collapsed{max-height:110px;overflow:hidden}.memorial-detail__memory-content--collapsed:after{content:"";position:absolute;left:0;right:0;bottom:0;height:72px;background:linear-gradient(180deg,#e8f5e800,#e8f5e8 80%);pointer-events:none}.memorial-detail__memory-text{word-break:break-word}.memorial-detail__memory-text>:first-child{margin-top:0}.memorial-detail__memory-text>:last-child{margin-bottom:0}.memorial-detail__memory-text h1,.memorial-detail__memory-text h2,.memorial-detail__memory-text h3,.memorial-detail__memory-text h4,.memorial-detail__memory-text h5,.memorial-detail__memory-text h6{margin:0 0 12px;font-size:18px;line-height:1.5;color:#1f1f1f}.memorial-detail__memory-text p,.memorial-detail__memory-text ul,.memorial-detail__memory-text ol,.memorial-detail__memory-text blockquote{margin:0 0 12px}.memorial-detail__memory-text ul,.memorial-detail__memory-text ol{padding-left:20px}.memorial-detail__memory-text blockquote{padding-left:12px;border-left:3px solid rgba(76,155,73,.2);color:#666}.memorial-detail__memory-text img{display:block;max-width:100%;height:auto;margin:12px auto;border-radius:8px}.memorial-detail__memory-text a{color:#4c9b49;text-decoration:underline}.memorial-detail__memory-meta{display:flex;align-items:center;gap:10px}.memorial-detail__memory-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover}.memorial-detail__memory-author{display:flex;flex-direction:column;gap:2px}.memorial-detail__memory-name{font-size:13px;font-weight:600;color:#333}.memorial-detail__memory-name span{font-weight:400;color:#8a8a8a;margin-left:6px}.memorial-detail__memory-time{font-size:12px;color:#9a9a9a}.memorial-detail__memory-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;background:#fff;margin:16px;border-radius:14px;box-shadow:0 4px 16px #00000014}.memorial-detail__memory-empty-icon{color:#4c9b49;margin-bottom:10px;width:40px;height:40px}.memorial-detail__memory-empty-text{font-size:12px;color:#8b8b8b;line-height:1.6;margin-bottom:30px;max-width:80%}.memorial-detail__memory-empty-btn{background:#3f8f3a;color:#fff;border:none;border-radius:24px;padding:12px 24px;font-size:16px;font-weight:600;cursor:pointer}@media(min-width:768px){.memorial-detail__content{max-width:640px}.memorial-detail__card{margin:20px auto}.memorial-detail__bottom-bar{right:max(16px,50% - 320px + 16px);justify-content:flex-end}.memorial-detail__album-list{grid-template-columns:repeat(3,1fr)}.memorial-detail__album-panel{padding:20px}}.gift-selector-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:1000}.gift-selector{width:100%;max-width:480px;background:#fff;border-top-left-radius:20px;border-top-right-radius:20px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 -4px 20px #0000001a}.gift-selector__header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #f0f0f0}.gift-selector__title{font-size:18px;font-weight:600;color:#1a1a1a;margin:0}.gift-selector__close{width:32px;height:32px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;color:#666}.gift-selector__close:hover{background:#f5f5f5}.gift-selector__category-tabs{display:flex;overflow-x:auto;padding:12px 16px;border-bottom:1px solid #f0f0f0;gap:12px;scrollbar-width:none;-ms-overflow-style:none}.gift-selector__category-tabs::-webkit-scrollbar{display:none}.gift-selector__category-tab{padding:8px 16px;border:1px solid #e0e0e0;background:#fff;border-radius:20px;font-size:14px;color:#666;cursor:pointer;white-space:nowrap;transition:all .2s ease}.gift-selector__category-tab:hover{border-color:#4c9b49;color:#4c9b49}.gift-selector__category-tab--active{background:#4c9b49;border-color:#4c9b49;color:#fff}.gift-selector__subcategory-tabs{display:flex;overflow-x:auto;padding:12px 16px;border-bottom:1px solid #f0f0f0;gap:12px;scrollbar-width:none;-ms-overflow-style:none}.gift-selector__subcategory-tabs::-webkit-scrollbar{display:none}.gift-selector__subcategory-tab{padding:6px 14px;border:1px solid #e0e0e0;background:#fff;border-radius:16px;font-size:13px;color:#666;cursor:pointer;white-space:nowrap;transition:all .2s ease}.gift-selector__subcategory-tab:hover{border-color:#4c9b49;color:#4c9b49}.gift-selector__subcategory-tab--active{background:#4c9b49;border-color:#4c9b49;color:#fff}.gift-selector__gift-list{flex:1;overflow-y:auto;padding:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gift-selector__gift-list::-webkit-scrollbar{width:6px}.gift-selector__gift-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.gift-selector__gift-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.gift-selector__gift-list::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.gift-selector__gift-item{display:flex;flex-direction:column;align-items:center;padding:12px;border:2px solid #f0f0f0;border-radius:12px;cursor:pointer;transition:all .2s ease}.gift-selector__gift-item:hover{border-color:#4c9b49;transform:translateY(-2px);box-shadow:0 4px 12px #4c9b491a}.gift-selector__gift-item--selected{border-color:#4c9b49;background:#4c9b490d}.gift-selector__gift-image{width:80px;height:80px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.gift-selector__gift-image img{max-width:100%;max-height:100%;object-fit:contain}.gift-selector__gift-info{text-align:center;width:100%}.gift-selector__gift-name{font-size:13px;font-weight:500;color:#1a1a1a;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gift-selector__gift-description{font-size:11px;color:#666;margin-bottom:4px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.gift-selector__gift-price{font-size:12px;color:#8a8a8a}.gift-selector__loading,.gift-selector__error,.gift-selector__empty{grid-column:1/-1;text-align:center;padding:40px 20px;color:#666;font-size:14px}.gift-selector__error{color:#e74c3c}.gift-selector__footer{display:flex;align-items:center;justify-content:space-between;padding:16px;border-top:1px solid #f0f0f0;background:#fff}.gift-selector__selected-gift{flex:1;margin-right:12px}.gift-selector__selected-description{font-size:14px;color:#666;line-height:1.4;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gift-selector__no-selection{font-size:14px;color:#999}.gift-selector__send-btn{display:flex;align-items:center;gap:6px;padding:12px 24px;background:#4c9b49;border:none;border-radius:24px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.gift-selector__send-btn:hover:not(:disabled){background:#3d8239;transform:translateY(-1px)}.gift-selector__send-btn:disabled{background:#ccc;cursor:not-allowed}.gift-selector__send-btn--disabled{background:#ccc}@media(max-width:480px){.gift-selector{border-top-left-radius:16px;border-top-right-radius:16px}.gift-selector__gift-list{grid-template-columns:repeat(3,1fr);gap:12px}.gift-selector__gift-image{width:60px;height:60px}.gift-selector__send-btn{padding:10px 20px}}.life-edit{min-height:100vh;background:#f7f8f6;display:flex;flex-direction:column;color:#1f1f1f}.life-edit__header{position:sticky;top:0;z-index:10;display:flex;align-items:center;padding:14px 16px 10px;background:#fff;border-bottom:1px solid rgba(0,0,0,.06)}.life-edit__back{margin-right:8px}.life-edit__title{flex:1;text-align:center;font-size:16px;font-weight:600;color:#1f1f1f}.life-edit__content{flex:1;display:flex;flex-direction:column;align-items:center;width:100%;background:none}.life-edit__form{width:100%;max-width:480px;margin:0 auto;padding:24px 16px 0;display:flex;flex-direction:column;gap:16px;background:none}.life-edit__input{font-size:16px;padding:10px 12px;border:1px solid #eee;border-radius:6px;outline:none;background:#fff}.life-edit__textarea{font-size:16px;padding:10px 12px;border:1px solid #eee;border-radius:6px;min-height:200px;resize:vertical;outline:none;background:#fff}.life-edit__footer{width:100%;max-width:480px;margin:0 auto 24px;display:flex;justify-content:center;background:none;padding:0 16px;box-sizing:border-box}.life-edit__publish{width:100%;max-width:100%;height:48px;font-size:16px;font-weight:600;border-radius:24px;margin-top:8px;background:#4c9b49;color:#fff;border:none;box-shadow:0 4px 16px #4c9b4914;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 24px;transition:background .2s}.life-edit__publish:active{background:#388a36}.life-edit__publish-icon{display:inline-block;vertical-align:middle}.life-edit__form-row{display:flex;align-items:center;gap:16px}.life-edit__label{min-width:80px;font-size:16px;color:#1f1f1f}.life-edit__relation-selector{flex:1}@media(min-width:481px){.life-edit__form,.life-edit__footer,.life-edit__publish{max-width:768px}}.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor ul,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"•"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"☑"}.ql-editor ul[data-checked=false]>li:before{content:"☐"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media(pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0px}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0px;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.oss-rich-editor{background:#fff;border-radius:8px;min-height:200px;width:100%}.oss-rich-editor .ql-toolbar{border-radius:8px 8px 0 0}.oss-rich-editor .ql-container{min-height:200px;width:100%}.oss-rich-editor .ql-editor{min-height:180px;width:100%}.relation-selector{width:100%}.relation-selector__trigger{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border:1px solid #E5E5E5;border-radius:8px;background-color:#fff;cursor:pointer;transition:all .2s ease}.relation-selector__trigger:hover{border-color:#4caf50}.relation-selector__value{font-size:16px;color:#333}.relation-selector__icon{font-size:14px;color:#999}.relation-selector__overlay{position:fixed;inset:0;background:#0006;z-index:1000;display:flex;align-items:flex-end;justify-content:center}.relation-selector__panel{width:100%;max-width:480px;background:#fff;border-radius:18px 18px 0 0;padding:14px 14px 28px;box-sizing:border-box;animation:rsSlideUp .22s cubic-bezier(.32,.72,0,1)}@keyframes rsSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.relation-selector__tabs{display:flex;margin-bottom:16px;border-bottom:1px solid #f0f0f0}.relation-selector__tab{flex:1;padding:12px 0;border:none;background:none;font-size:15px;color:#666;cursor:pointer;transition:all .2s ease;border-bottom:2px solid transparent}.relation-selector__tab:hover{color:#4caf50}.relation-selector__tab--active{color:#4caf50;border-bottom-color:#4caf50;font-weight:600}.relation-selector__content{max-height:400px;overflow-y:auto}.relation-selector__options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}@media(min-width:768px){.relation-selector__options{grid-template-columns:repeat(4,1fr)}}.relation-selector__option{padding:10px 12px;font-size:14px;color:#333;text-align:center;border:1px solid #E5E5E5;border-radius:8px;cursor:pointer;transition:all .2s ease}.relation-selector__option:hover{border-color:#4caf50;background-color:#4caf501a}.relation-selector__option--active{color:#fff;background-color:#4caf50;border-color:#4caf50}.relation-selector__footer{margin-top:16px;padding-top:16px;border-top:1px solid #f0f0f0;display:flex;justify-content:center}.relation-selector__confirm{width:100%;padding:12px 0;font-size:16px;font-weight:600;color:#fff;background-color:#4caf50;border:none;border-radius:24px;cursor:pointer;transition:all .2s ease}.relation-selector__confirm:hover{background-color:#45a049}.relation-selector__confirm:active{transform:translateY(1px)}.life-edit__relation-selector{width:100%}.message-edit{min-height:100vh;background:#f7f8f6;display:flex;flex-direction:column;color:#1f1f1f}.message-edit__header{position:sticky;top:0;z-index:10;display:flex;align-items:center;padding:14px 16px 10px;background:#fff;border-bottom:1px solid rgba(0,0,0,.06)}.message-edit__back{margin-right:8px}.message-edit__title{flex:1;text-align:center;font-size:16px;font-weight:600;color:#1f1f1f}.message-edit__content{flex:1;display:flex;flex-direction:column;align-items:center;width:100%}.message-edit__form{width:100%;max-width:480px;margin:0 auto;padding:24px 16px 0;display:flex;flex-direction:column;gap:16px;box-sizing:border-box}.message-edit__textarea{font-size:15px;line-height:1.7;padding:12px;border:1px solid #eee;border-radius:10px;outline:none;background:#fff;resize:none;width:100%;box-sizing:border-box;color:#1f1f1f}.message-edit__textarea::placeholder{color:#bbb}.message-edit__textarea:focus{border-color:#6bb15f}.message-edit__char-count{font-size:12px;color:#bbb;text-align:right;margin-top:-8px}.message-edit__form-row{display:flex;align-items:center;gap:16px}.message-edit__label{min-width:80px;font-size:15px;color:#1f1f1f;white-space:nowrap}.message-edit__relation-selector{flex:1}.message-edit__footer{width:100%;max-width:480px;margin:0 auto 24px;display:flex;justify-content:center;padding:16px 16px 0;box-sizing:border-box}.message-edit__publish{width:100%;max-width:100%;height:48px;font-size:16px;font-weight:600;border-radius:24px;background:#4c9b49;color:#fff;border:none;box-shadow:0 4px 16px #4c9b4914;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 24px;transition:background .2s;cursor:pointer}.message-edit__publish:active{background:#388a36}.message-edit__publish:disabled{background:#b5d5b3;cursor:not-allowed}@media(min-width:481px){.message-edit__form,.message-edit__footer{max-width:768px}}.login-page{min-height:100vh;background-color:#fff;padding:60px 20px 40px;display:flex;flex-direction:column;align-items:center}.login-page .error-message{width:100%;max-width:400px;padding:10px 16px;background-color:#fee;color:#c00;border-radius:8px;font-size:14px;margin-bottom:16px}.login-page .login-header{text-align:center;margin-bottom:60px}.login-page .login-header .login-logo{font-size:32px;font-weight:700;color:#79c05f;margin-bottom:10px}.login-page .login-header .login-slogan{font-size:14px;color:#666}.login-page .login-tabs{display:flex;width:100%;max-width:400px;margin-bottom:30px;border-bottom:1px solid #e0e0e0}.login-page .login-tabs .login-tab{flex:1;text-align:center;padding:12px 0;font-size:16px;color:#666;cursor:pointer;position:relative}.login-page .login-tabs .login-tab.active{color:#333;font-weight:500}.login-page .login-tabs .login-tab.active:after{content:"";position:absolute;bottom:0;left:20%;width:60%;height:2px;background-color:#79c05f}.login-page .login-form{width:100%;max-width:400px;display:flex;flex-direction:column;gap:20px}.login-page .login-form .wechat-login{display:flex;justify-content:center;align-items:center;padding:0}.login-page .login-form .wechat-login .wechat-button{width:180px;height:180px;border:1px solid #e0e0e0;border-radius:8px;display:flex;justify-content:center;align-items:center;font-size:14px;color:#666}.login-page .login-form .wechat-login .wechat-qr-container{display:flex;justify-content:center;align-items:center;width:100%;height:400px;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.login-page .login-form .wechat-login .wechat-qr-container .wechat-qr-code{width:100%;height:100%}.login-page .login-form .wechat-login .wechat-qr-container .loading{font-size:14px;color:#666}.login-page .login-form .wechat-login .wechat-qr-container .agreement-prompt{font-size:14px;color:#666;text-align:center;padding:0 20px}.login-page .login-form .form-group{display:flex;flex-direction:column}.login-page .login-form .form-group .form-input{width:100%;padding:14px 16px;border:1px solid #e0e0e0;border-radius:8px;font-size:16px;outline:none;color:#333;background-color:#fff}.login-page .login-form .form-group .form-input:focus{border-color:#79c05f}.login-page .login-form .sms-group{flex-direction:row;gap:12px}.login-page .login-form .sms-group .sms-input{flex:1}.login-page .login-form .sms-group .sms-button{width:120px;padding:14px 16px;border:1px solid #79C05F;border-radius:8px;background-color:#fff;color:#79c05f;font-size:14px;cursor:pointer}.login-page .login-form .sms-group .sms-button:disabled{border-color:#e0e0e0;color:#999;cursor:not-allowed}.login-page .login-form .terms-group{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.login-page .login-form .terms-group .terms-checkbox{width:16px;height:16px;cursor:pointer}.login-page .login-form .terms-group .terms-label{flex:1;cursor:pointer}.login-page .login-form .terms-group .terms-label .terms-link{color:#79c05f;text-decoration:underline}.login-page .login-form .login-button{width:100%;padding:16px;border:none;border-radius:8px;background-color:#418f34;color:#fff;font-size:16px;font-weight:500;cursor:pointer}.login-page .login-form .login-button:disabled{background-color:#b8e0a8;cursor:not-allowed}.login-page .skip-login{margin-top:40px;font-size:14px;color:#999;cursor:pointer}@media(max-width:480px){.login-page{padding:40px 20px 30px}.login-page .login-header{margin-bottom:40px}.login-page .login-header .login-logo{font-size:28px;margin:0 10px}.login-page .login-header .login-logo img{width:calc(100% - 20px)}.login-page .login-tabs{margin-bottom:20px}.login-page .login-tabs .login-tab{font-size:14px;padding:10px 0}.login-page .login-form{gap:16px}.login-page .login-form .form-input{padding:12px 14px;font-size:14px;color:#333;background-color:#fff}.login-page .login-form .sms-button{width:100px;padding:12px 14px;font-size:12px}.login-page .login-form .login-button{padding:14px;font-size:14px}.login-page .skip-login{margin-top:30px}}.avatar-picker{position:relative;display:inline-block;cursor:pointer;-webkit-user-select:none;user-select:none}.avatar-picker__img-wrap{position:relative;width:84px;height:84px;border-radius:12px;overflow:visible}.avatar-picker__img{width:84px;height:84px;border-radius:12px;object-fit:cover;display:block;background:#e8dfc0}.avatar-picker__placeholder{width:84px;height:84px;border-radius:12px;background:#d9cba4;display:flex;align-items:center;justify-content:center;font-size:36px;color:#b0986a}.avatar-picker__add{position:absolute;right:-6px;bottom:-6px;width:22px;height:22px;border-radius:50%;background:#4caf50;color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;border:2px solid #fff;box-shadow:0 1px 4px #0003}.avatar-picker__add--loading{background:#aaa}.avatar-picker__file-input{display:none}.lunar-date-picker__trigger{flex:1;height:40px;background:#f9f9f9;border:1px solid #e8e8e8;border-radius:8px;padding:0 12px;text-align:left;font-size:14px;color:#222;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lunar-date-picker__trigger--disabled{color:#9a9a9a;cursor:default}.lunar-date-picker__overlay{position:fixed;inset:0;background:#0006;z-index:1000;display:flex;align-items:flex-end;justify-content:center}.lunar-date-picker__panel{width:100%;max-width:480px;background:#fff;border-radius:18px 18px 0 0;padding:14px 14px 28px;box-sizing:border-box;animation:ldpSlideUp .22s cubic-bezier(.32,.72,0,1)}@keyframes ldpSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.lunar-date-picker__nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;height:38px}.lunar-date-picker__nav>button{width:36px;height:36px;border:none;background:none;font-size:18px;color:#555;cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.lunar-date-picker__nav>button:hover{background:#f5f0d8;color:#222}.lunar-date-picker__nav-title{display:flex;align-items:center;gap:4px;font-size:16px;font-weight:600;color:#222;flex:1;justify-content:center}.lunar-date-picker__nav-year,.lunar-date-picker__nav-month{padding:3px 6px;border-radius:6px;cursor:pointer;transition:background .12s}.lunar-date-picker__nav-year:hover,.lunar-date-picker__nav-month:hover{background:#f5f0d8}.lunar-date-picker__weekheader{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.lunar-date-picker__weekheader span{text-align:center;font-size:12px;color:#aaa;padding:4px 0}.lunar-date-picker__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.lunar-date-picker__cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3px 0 5px;border:none;background:none;cursor:pointer;border-radius:8px;min-height:46px}.lunar-date-picker__cell:not(.lunar-date-picker__cell--empty):hover{background:#faf8ed}.lunar-date-picker__cell--empty{cursor:default;visibility:hidden}.lunar-date-picker__cell--selected .lunar-date-picker__cell-solar{background:#e6c42a;color:#fff;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.lunar-date-picker__cell--today:not(.lunar-date-picker__cell--selected) .lunar-date-picker__cell-solar{color:#e6c42a;font-weight:700}.lunar-date-picker__cell--today:after{content:"";display:block;width:4px;height:4px;border-radius:50%;background:#e6c42a;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.lunar-date-picker__cell--selected.lunar-date-picker__cell--today:after{background:#e6c42a80}.lunar-date-picker__cell-solar{font-size:15px;font-weight:500;color:#222;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.lunar-date-picker__cell-lunar{font-size:10px;color:#999;line-height:1}.lunar-date-picker__cell--month-start .lunar-date-picker__cell-lunar{color:#c9a227}.lunar-date-picker__year-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:4px 0 8px}.lunar-date-picker__year-item{height:42px;border:none;background:none;border-radius:10px;font-size:14px;color:#333;cursor:pointer;transition:background .12s}.lunar-date-picker__year-item:hover{background:#f5f0d8}.lunar-date-picker__year-item--selected{background:#e6c42a;color:#fff;font-weight:600}.lunar-date-picker__year-item--current:not(.lunar-date-picker__year-item--selected){color:#e6c42a;font-weight:700}.lunar-date-picker__month-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:4px 0 8px}.lunar-date-picker__month-item{height:50px;border:none;background:none;border-radius:10px;font-size:15px;color:#333;cursor:pointer;transition:background .12s}.lunar-date-picker__month-item:hover{background:#f5f0d8}.lunar-date-picker__month-item--selected{background:#e6c42a;color:#fff;font-weight:600}.lunar-date-picker__month-item--current:not(.lunar-date-picker__month-item--selected){color:#e6c42a;font-weight:700}.lunar-date-picker__bottom{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid #f0f0f0;gap:6px}.lunar-date-picker__today-btn{border:none;background:none;color:#e6c42a;font-size:13px;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:6px;flex-shrink:0}.lunar-date-picker__today-btn:hover{background:#faf8ed}.lunar-date-picker__back-btn{border:1px solid #ddd;background:none;color:#888;font-size:13px;cursor:pointer;padding:6px 14px;border-radius:8px}.lunar-date-picker__back-btn:hover{background:#f5f5f5}.lunar-date-picker__current-val{font-size:12px;color:#666;flex:1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lunar-date-picker__lunar-toggle{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:#555;cursor:pointer;flex-shrink:0}.lunar-date-picker__lunar-toggle input{accent-color:#e6c42a}.location-cascade__row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.location-cascade__label{width:80px;flex-shrink:0;text-align:right;font-size:14px;color:#555}.location-cascade__select{flex:1;height:40px;border:1px solid #e8e8e8;border-radius:8px;background:#f9f9f9;font-size:14px;color:#222;padding:0 28px 0 10px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23aaa' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.location-cascade__select:focus{outline:none;border-color:#d9bf57}.location-cascade__input{flex:1;height:40px;border:1px solid #e8e8e8;border-radius:8px;background:#f9f9f9;font-size:14px;color:#222;padding:0 12px}.location-cascade__input:focus{outline:none;border-color:#d9bf57}.create-space{min-height:100vh;background:#f5f5f5;color:#222;display:flex;flex-direction:column}.create-space__content{flex:1;width:100%;max-width:480px;margin:0 auto;padding:12px 0 20px}.create-space__error{margin:0 16px 12px;padding:10px 12px;border-radius:8px;color:#c54343;background:#fff1f1;font-size:13px}.create-space__card{margin:0 0 12px;padding:12px 16px 16px;background:#fff}.create-space__step-title{display:flex;align-items:center;gap:10px;margin-bottom:16px;font-size:30px;font-weight:600}.create-space__step-index{width:24px;height:24px;border-radius:50%;background:#f2df97;color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center}.create-space__form-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}.create-space__label{width:110px;flex-shrink:0;text-align:right;color:#303030;font-size:14px;font-weight:600}.create-space__form-row--more{margin-bottom:12px}.create-space__avatar-box{flex:1;display:flex;align-items:center;gap:10px;padding:8px 0}.create-space__input{flex:1;height:40px;border:1px solid #e8e8e8;border-radius:8px;background:#f9f9f9;font-size:14px;color:#222;padding:0 12px}.create-space__input:disabled{color:#9a9a9a}.create-space__input--select{appearance:none}.create-space__input--relation{border:none;background:transparent;padding:0;height:auto}.create-space__input--full{grid-column:span 2}.create-space__options-inline{flex:1;display:flex;align-items:center;justify-content:space-around}.create-space__radio-option{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:#303030}.create-space__radio-option input[type=radio],.create-space__radio-option input[type=checkbox]{accent-color:#4caf50}.create-space__radio-option--small{margin-left:2px;font-size:13px;color:#777}.create-space__divider{height:1px;background:#efefef;margin:10px 0}.create-space__more-trigger{width:100%;height:44px;display:flex;align-items:center;justify-content:space-between;border:none;background:#fff;color:#2f2f2f;font-size:22px;font-weight:600;padding:0}.create-space__more-panel{margin-top:8px;padding:14px 12px;background:#f5f4ed;border-radius:8px}.create-space__section-title{margin:12px 0 8px;font-size:15px;color:#303030;border-radius:8px;background:#f9f7ef;line-height:1.5}.create-space__privacy-list{display:flex;flex-direction:column;gap:12px}.create-space__privacy-item{display:flex;gap:10px;padding:16px;border-radius:10px;border:1px solid #ececec;background:#fff}.create-space__privacy-item input[type=radio]{margin-top:4px;accent-color:#4caf50}.create-space__privacy-item--active{border-color:#d9bf57;background:#fffdf3}.create-space__privacy-title{font-size:19px;font-weight:700;color:#303030}.create-space__privacy-desc{margin-top:8px;font-size:13px;line-height:1.5;color:#666}.create-space__notice{margin-top:14px;padding:10px 12px;border-radius:8px;background:#f9f7ef;color:#666;font-size:12px;line-height:1.5}.create-space__footer{width:100%;max-width:480px;margin:0 auto;padding:10px 16px 14px;background:#f5f5f5;box-sizing:border-box}.create-space__submit{width:100%;height:48px;border:none;border-radius:10px;background:#111;color:#fff;font-size:24px;font-weight:600}.create-space__submit:disabled{background:#8fbf8f}.altar-scene{width:100%;height:100%;position:relative;overflow:hidden}.altar-scene__stage{width:100%;height:100%}.altar-scene__stage canvas{display:block;width:100%;height:100%}.altar-scene__tooltip{position:absolute;z-index:30;min-width:128px;max-width:220px;padding:8px 10px;border-radius:8px;background-color:#000000bf;color:#fff;font-size:12px;line-height:1.4;pointer-events:none;white-space:nowrap}.altar-scene__tooltip-slot{opacity:.8}.altar-scene__tooltip-days{margin-top:2px;font-weight:600}.altar{height:100vh;min-height:100vh;background-color:#000;display:flex;flex-direction:column;position:relative}.altar__canvas-container{flex:1;min-height:240px;position:relative;overflow:hidden}.altar__canvas-container canvas,.altar__canvas-container .altar-scene{width:100%;height:100%;display:block}.altar__scene-state{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#fff;text-align:center;padding:20px}.altar__scene-state--error{color:#ff4d4f}.altar__status-bar{position:absolute;top:80px;right:20px;border:none;background-color:#0009;color:#fff;padding:8px 12px;border-radius:16px;font-size:14px;z-index:10;cursor:pointer}.altar__footer{background-color:#333;padding:12px 16px;display:flex;justify-content:space-around;z-index:20}.altar__footer-item{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;max-width:80px}.altar__footer-item-icon{width:48px;height:48px;background-color:#ffffff1a;border-radius:8px;display:flex;align-items:center;justify-content:center}.altar__footer-item-icon img{width:32px;height:32px;object-fit:contain}.altar__footer-item-name{color:#fff;font-size:12px;text-align:center}.altar__modal{position:fixed;inset:0 0 80px;background-color:#000000b3;z-index:1000;display:flex;flex-direction:column;justify-content:flex-end}.altar__modal-content{background-color:#333;border-radius:20px 20px 0 0;padding:20px;max-height:80vh;overflow-y:auto;margin-bottom:0}.altar__modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.altar__modal-header h3{color:#fff;font-size:18px;font-weight:600}.altar__modal-header .close-button{background:none;border:none;color:#fff;font-size:24px;cursor:pointer}.altar__modal-subcategories{display:flex;gap:16px;margin-bottom:20px;overflow-x:auto}.altar__modal-subcategories-item{padding:8px 16px;border-radius:16px;background-color:#ffffff1a;color:#fff;font-size:14px;cursor:pointer}.altar__modal-subcategories-item.active{background-color:gold;color:#000}.altar__modal-offerings{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px}.altar__modal-offerings-item{background-color:#ffffff1a;border-radius:12px;padding:16px;display:flex;flex-direction:column;align-items:center;cursor:pointer}.altar__modal-offerings-item.active{border:2px solid #ffd700}.altar__modal-offerings-item img{width:80px;height:80px;object-fit:contain;margin-bottom:8px}.altar__modal-offerings-item .name{color:#fff;font-size:14px;text-align:center;margin-bottom:4px}.altar__modal-offerings-item .description{color:#aaa;font-size:12px;text-align:center}.altar__modal-duration{margin-bottom:20px}.altar__modal-duration h4{color:#fff;font-size:14px;margin-bottom:12px}.altar__modal-duration-options{display:flex;gap:12px;overflow-x:auto}.altar__modal-duration-options-item{flex:1;min-width:80px;padding:10px;border-radius:8px;background-color:#ffffff1a;color:#fff;font-size:14px;text-align:center;cursor:pointer}.altar__modal-duration-options-item.active{background-color:gold;color:#000}.altar__modal-footer{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid rgba(255,255,255,.2)}.altar__modal-footer .price{color:gold;font-size:18px;font-weight:600}.altar__modal-footer .submit-button{background-color:gold;color:#000;border:none;border-radius:20px;padding:12px 24px;font-size:16px;font-weight:600;cursor:pointer}.altar__calendar-modal{position:fixed;inset:0;background-color:#000000b3;z-index:1000;display:flex;flex-direction:column;justify-content:flex-start}.altar__calendar-modal-content{background-color:#333;border-radius:0 0 20px 20px;padding:20px;max-height:80vh;overflow-y:auto;margin-top:0}.altar__calendar-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.altar__calendar-modal-header .status{color:#fff;font-size:16px;font-weight:600}.altar__calendar-modal-header .close-button{background:none;border:none;color:#fff;font-size:24px;cursor:pointer}.altar__calendar-modal-subtitle{color:#aaa;font-size:14px;text-align:center;margin-bottom:20px}.altar__calendar-modal-month-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.altar__calendar-modal-month-header h3{color:#fff;font-size:18px;font-weight:600}.altar__calendar-modal-month-header button{background:none;border:none;color:#fff;font-size:20px;cursor:pointer}.altar__calendar-modal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:12px}.altar__calendar-modal-weekdays .day{color:#aaa;font-size:14px;text-align:center;padding:8px 0}.altar__calendar-modal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.altar__calendar-modal-days .day{position:relative;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;cursor:pointer}.altar__calendar-modal-days .day.has-offering{background-color:#ffd7004d}.altar__calendar-modal-days .day.today{background-color:gold;color:#000;font-weight:600}.altar__calendar-modal-days .day:hover{background-color:#fff3}.altar__calendar-modal-tooltip{position:fixed;background-color:#000000e6;color:#fff;padding:12px;border-radius:8px;z-index:1001;width:200px;pointer-events:auto}.altar__calendar-modal-tooltip .date{font-weight:600;margin-bottom:6px;font-size:13px;color:#ccc}.altar__calendar-modal-tooltip .offering-status{font-size:13px;color:gold;margin-bottom:8px}.altar__calendar-modal-tooltip .no-offering{font-size:13px;color:#888;margin-top:2px}.altar__calendar-modal-tooltip .offerings{display:flex;gap:8px;flex-wrap:wrap}.altar__calendar-modal-tooltip .offerings img{width:32px;height:32px;object-fit:contain}.coin-page{min-height:100vh;background-color:#e7cf3e;max-width:480px;margin-left:auto;margin-right:auto}@media(min-width:768px){.coin-page{max-width:640px}}.coin-page__content{padding:12px}.coin-page__loading{min-height:280px;display:flex;align-items:center;justify-content:center;color:#555;font-size:14px}.coin-page__card{min-height:520px;background-color:#f4f4f4;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px}.coin-page__coin-icon{color:#d6b629;font-size:28px;line-height:1}.coin-page__coin-label{margin-top:12px;color:#6f6f6f;font-size:16px}.coin-page__coin-value{margin-top:28px;color:#111;font-size:44px;font-weight:700;line-height:1}.coin-page__coin-unit{margin-left:6px;font-size:18px;font-weight:500}.coin-page__recharge-button{margin-top:120px;width:160px;height:50px;border:none;border-radius:10px;background-color:#e8cb35;color:#fff;font-size:20px;font-weight:600;cursor:pointer}.coin-page__recharge-button:active{opacity:.9}.coin-page__links{margin-top:18px;display:flex;align-items:center;justify-content:center;gap:24px}.coin-page__link{border:none;background:none;color:#fff4af;font-size:14px;text-decoration:underline;cursor:pointer}.coin-page__overlay{position:fixed;inset:0;z-index:1000;background-color:#00000073;display:flex;align-items:flex-end;justify-content:center}.coin-page__sheet{width:min(640px,100vw);background-color:#fff;border-radius:14px 14px 0 0;padding:20px 16px 24px;animation:coin-page-sheet-rise .2s ease-out}@keyframes coin-page-sheet-rise{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.coin-page__sheet-content{color:#262626;font-size:16px;line-height:1.7}.coin-page__sheet-text{margin:0}.coin-page__sheet-list{margin:14px 0 0;padding-left:20px}.coin-page__sheet-list li{margin-bottom:10px}.coin-page__sheet-confirm{margin-top:18px;width:100%;height:46px;border:none;border-radius:10px;background-color:#e4e6ea;color:#6f747c;font-size:16px;cursor:pointer}.coin-page__sheet--recharge{padding-top:14px}.coin-page__sheet-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.coin-page__sheet-close{width:32px;height:32px;border:none;background:none;color:#888;font-size:28px;line-height:1;cursor:pointer}.coin-page__sheet-title{margin:0;font-size:28px;font-weight:700;color:#111}.coin-page__sheet-balance{min-width:62px;text-align:right;color:#444;font-size:20px}.coin-page__config-grid{min-height:220px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.coin-page__config-loading{grid-column:1/-1;display:flex;align-items:center;justify-content:center;color:#9a9a9a;font-size:14px}.coin-page__config-item{border:none;border-radius:10px;background-color:#f3f4f7;padding:20px 8px;cursor:pointer}.coin-page__config-item--active{box-shadow:inset 0 0 0 3px #e8cb35;background-color:#fffdf3}.coin-page__config-coin{color:#1b1b1b;font-size:42px;line-height:1;font-weight:700}.coin-page__config-amount{margin-top:10px;color:#70757d;font-size:26px;font-weight:500}.coin-page__agreement{margin-top:16px;text-align:center;color:#6d6d6d;font-size:15px}.coin-page__pay-error{margin-top:12px;text-align:center;color:#d14343;font-size:14px}.coin-page__pay-polling{margin-top:12px;text-align:center;color:#5f6368;font-size:13px}.coin-page__native-qrcode{margin-top:14px;border-radius:10px;background-color:#f8f9fb;padding:12px;text-align:center}.coin-page__native-title{color:#333;font-size:14px}.coin-page__native-image{width:180px;height:180px;margin-top:10px;border-radius:8px;background-color:#fff;object-fit:cover}.coin-page__native-generating{width:180px;height:180px;margin:10px auto 0;border-radius:8px;background-color:#fff;display:flex;align-items:center;justify-content:center;color:#8a8a8a;font-size:13px}.coin-page__native-order,.coin-page__native-expire{margin-top:8px;color:#6f6f6f;font-size:12px;line-height:1.4}.coin-page__pay-button{margin-top:16px;width:100%;height:56px;border:none;border-radius:28px;background-color:#0f1116;color:#fff;font-size:28px;font-weight:600;cursor:pointer}.coin-page__pay-button:disabled{opacity:.6;cursor:not-allowed}.tab-bar{position:fixed;bottom:0;left:0;right:0;height:auto;background:#fff;border-top:1px solid #E6E6E6;display:flex;justify-content:space-around;align-items:center;z-index:999;padding-top:10px;padding-bottom:env(safe-area-inset-bottom)}.tab-bar__item{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-decoration:none;color:#79c05f}.tab-bar__item--active{color:#418f34}.tab-bar__icon{width:24px;height:24px;margin-bottom:4px;object-fit:contain}.tab-bar__text{font-size:12px}.confirm-dialog{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px;background:#00000073}.confirm-dialog__panel{width:min(92vw,380px);background:#fff;border-radius:10px;box-shadow:0 12px 32px #0003;overflow:hidden}.confirm-dialog__title{padding:24px 24px 8px;font-size:24px;line-height:1.3;font-weight:500;color:#111;text-align:center}.confirm-dialog__content{padding:0 24px 24px;font-size:18px;line-height:1.5;color:#6c6c6c;text-align:center}.confirm-dialog__actions{display:flex;gap:12px;padding:0 24px 24px}.confirm-dialog__button{flex:1;height:44px;border-radius:8px;font-size:18px;line-height:44px;cursor:pointer}.confirm-dialog__button--cancel{border:1px solid #787878;background:#fff;color:#2d2d2d}.confirm-dialog__button--confirm{border:1px solid #0f1014;background:#0f1014;color:#fff}@media(max-width:750px){.confirm-dialog__title{font-size:20px}.confirm-dialog__content{font-size:16px}.confirm-dialog__button{font-size:17px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}.app{position:relative;min-height:100vh}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;color:#000;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#79c05f;text-decoration:inherit}a:hover{color:#418f34}body{margin:0}button{cursor:pointer;transition:border-color .25s;border:none}button:hover{border-color:#79c05f}
