@charset "UTF-8";.tab-bar{width:100%;height:56px;background:#fff;border-top:1px solid #e0e0e0;flex-shrink:0;padding-bottom:env(safe-area-inset-bottom);box-sizing:border-box}.tab-bar .tab-bar-inner{width:100%;height:100%;display:flex;justify-content:space-around;align-items:center}.tab-bar .tab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#9e9e9e;font-size:11px;text-decoration:none;transition:color .2s}.tab-bar .tab-item.active{color:#2d8a3e;font-weight:500}.tab-bar .tab-item.active .tab-icon svg{stroke-width:2.2}.tab-bar .tab-item .tab-icon{width:22px;height:22px;margin-bottom:2px;display:flex;align-items:center;justify-content:center}.tab-bar .tab-item .tab-icon svg{width:100%;height:100%;stroke-width:1.8;transition:stroke-width .2s}.tab-bar .tab-item .tab-label{line-height:1}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:9999;display:flex;align-items:center;justify-content:center;animation:modalFadeIn .18s ease-out}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-box{background:#fff;border-radius:16px;width:320px;max-width:88vw;padding:24px 22px 18px;box-shadow:0 12px 40px #00000038;animation:modalPopIn .2s cubic-bezier(.22,1,.36,1)}@keyframes modalPopIn{0%{transform:scale(.9) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.modal-title{font-size:17px;font-weight:600;color:#1a1a1a;text-align:center;margin-bottom:12px}.modal-message{font-size:14px;color:#555;line-height:1.6;text-align:center;white-space:pre-line;margin-bottom:16px}.modal-input{width:100%;box-sizing:border-box;border:1px solid #e0e0e0;border-radius:10px;padding:10px 12px;font-size:14px;outline:none;margin-bottom:16px;transition:border-color .15s}.modal-input:focus{border-color:#2d8a3e}.modal-actions{display:flex;gap:10px;justify-content:center}.modal-btn{flex:1;padding:10px 0;border:none;border-radius:10px;font-size:15px;font-weight:500;cursor:pointer;transition:background .15s,transform .1s}.modal-btn:active{transform:scale(.97)}.modal-btn-cancel{background:#f2f2f2;color:#555}.modal-btn-cancel:hover{background:#e8e8e8}.modal-btn-confirm{background:#2d8a3e;color:#fff}.modal-btn-confirm:hover{background:#247031}.modal-mask--toast{background:#00000040;align-items:flex-end;padding-bottom:80px}.modal-toast{background:#fff;border-radius:16px;width:340px;max-width:88vw;padding:22px 20px 18px;box-shadow:0 10px 32px #0000002e;text-align:center;animation:toastPopIn .2s cubic-bezier(.22,1,.36,1)}@keyframes toastPopIn{0%{transform:scale(.92) translateY(16px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.toast-icon{font-size:36px;line-height:1;margin-bottom:10px}.toast-title{font-size:16px;font-weight:600;color:#1a1a1a;margin-bottom:6px}.toast-message{font-size:13px;color:#666;line-height:1.5}.toast-decor{display:flex;justify-content:center;gap:5px;margin-top:14px}.toast-decor .toast-dot{width:5px;height:5px;border-radius:50%;background:#2d8a3e;opacity:.35;animation:toastBounce 1.2s infinite ease-in-out}.toast-decor .toast-dot:nth-child(2){animation-delay:.15s;opacity:.55}.toast-decor .toast-dot:nth-child(3){animation-delay:.3s;opacity:.35}@keyframes toastBounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-4px)}}.sos-fab{position:absolute;right:14px;bottom:62px;width:46px;height:46px;border-radius:50%;border:none;font-size:22px;background:linear-gradient(135deg,#ef5350,#c62828);box-shadow:0 4px 14px #c6282873;z-index:900;opacity:.45;transition:transform .15s,opacity .2s}.sos-fab:hover,.sos-fab:active{opacity:1}.sos-fab:active{transform:scale(.92)}.sos-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:950;display:flex;align-items:center;justify-content:center;padding:20px}.sos-dialog{background:#fff;border-radius:16px;width:min(440px,100%);max-height:85vh;overflow-y:auto;padding:16px 16px 12px}.sos-dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.sos-dialog-header h3{font-size:17px;color:#c62828;margin:0}.sos-dialog-header .sos-close{border:none;background:#0000000d;color:#666;width:28px;height:28px;border-radius:50%;font-size:13px;line-height:1}.sos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.sos-grid .sos-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:14px 8px;border-radius:12px;color:#fff;text-decoration:none;transition:transform .15s}.sos-grid .sos-btn:active{transform:scale(.96)}.sos-grid .sos-btn .sos-num{font-size:22px;font-weight:700;letter-spacing:1px}.sos-grid .sos-btn .sos-label{font-size:11px;opacity:.9}.sos-grid .sos-110{background:linear-gradient(135deg,#ef5350,#c62828)}.sos-grid .sos-120{background:linear-gradient(135deg,#ec407a,#ad1457)}.sos-grid .sos-119{background:linear-gradient(135deg,#ff7043,#d84315)}.sos-tips{background:#00000008;border-radius:10px;padding:10px 12px;margin-bottom:10px}.sos-tips p{font-size:12px;color:#6d4c41;line-height:1.7;margin-bottom:4px}.sos-tips p:last-child{margin-bottom:0}.sos-actions{text-align:center;margin-bottom:10px}.sos-actions .sos-copy-btn{background:#fff;border:1.5px solid #ef5350;color:#c62828;font-size:13px;font-weight:600;padding:9px 20px;border-radius:20px;transition:transform .15s}.sos-actions .sos-copy-btn:active{transform:scale(.96)}.sos-actions .sos-copy-btn:disabled{opacity:.6}.cute-bot-wrap{position:absolute;right:-28px;bottom:120px;width:84px;height:84px;z-index:998;cursor:pointer;transition:right .4s cubic-bezier(.34,1.56,.64,1),transform .3s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.cute-bot-wrap:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;animation:bot-float 3.2s ease-in-out infinite;pointer-events:none}@keyframes bot-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.cute-bot-wrap.is-hover{right:6px;transform:scale(1.05)}.cute-bot-wrap.is-hover:before{animation-duration:2.2s}.cute-bot-body{width:100%;height:100%;filter:drop-shadow(0 6px 14px rgba(245,124,62,.35));transition:filter .3s}.cute-bot-wrap.is-hover .cute-bot-body{filter:drop-shadow(0 10px 22px rgba(245,124,62,.5))}.cute-bot-eye{transform-origin:center;animation:bot-blink 4.2s ease-in-out infinite}.cute-bot-eye:nth-child(2){animation-delay:.05s}@keyframes bot-blink{0%,92%,to{transform:scaleY(1)}94%,96%{transform:scaleY(.08)}98%{transform:scaleY(1)}}.cute-bot-wrap.is-hover .cute-bot-eye{animation:none;transform:scaleY(1.15) scaleX(1.1);transition:transform .15s ease-out}.cute-bot-tail{position:absolute;right:-20px;bottom:18px;width:30px;height:18px;background:linear-gradient(100deg,#f57c3e,#ffb26b);border-radius:60% 80% 45% 55%;box-shadow:0 2px 5px #f57c3e59;transform-origin:0% 50%;opacity:0;transition:opacity .25s ease;animation:bot-tail-wag .8s ease-in-out infinite;animation-play-state:paused;pointer-events:none}.cute-bot-wrap.is-hover .cute-bot-tail{opacity:1;animation-play-state:running}@keyframes bot-tail-wag{0%,to{transform:rotate(-6deg)}50%{transform:rotate(20deg)}}.cute-bot-bubble{position:absolute;right:96px;top:20px;background:#fff;border:1.5px solid #FFB26B;border-radius:16px;padding:10px 14px;box-shadow:0 4px 14px #f57c3e33;white-space:nowrap;pointer-events:none;animation:bot-bubble-in .35s cubic-bezier(.34,1.56,.64,1) both}@keyframes bot-bubble-in{0%{opacity:0;transform:translate(8px) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}.cute-bot-bubble-text{font-size:13px;font-weight:500;color:#f57c3e}.cute-bot-bubble-tail{position:absolute;right:-8px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:8px solid #FFB26B}.cute-bot-bubble-tail:after{content:"";position:absolute;right:1px;top:-5px;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid #fff}@media (hover: none){.cute-bot-wrap{right:-30px}.cute-bot-wrap.is-hover{right:4px;transform:scale(1)}}@media (max-width: 520px){.cute-bot-wrap{right:4px}.cute-bot-wrap.is-hover{right:4px;transform:scale(1.05)}}.nav-header{position:sticky;top:0;z-index:2000;height:48px;background:#2e7d32;color:#fff;display:flex;align-items:center;padding:0 12px}.nav-header .nav-back{width:32px;height:32px;font-size:28px;color:#fff;line-height:1;text-align:center}.nav-header .nav-placeholder{width:32px}.nav-header .nav-title{flex:1;font-size:16px;font-weight:500;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-header .nav-right{min-width:32px;text-align:right;display:flex;align-items:center;justify-content:flex-end;gap:6px}.nav-header .nav-right .nav-bell{position:relative;width:32px;height:32px;background:transparent;border:none;cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;padding:0}.nav-header .nav-right .nav-bell .nav-bell-badge{position:absolute;top:2px;right:0;min-width:16px;height:16px;line-height:16px;padding:0 4px;background:#ff4d4f;color:#fff;font-size:10px;font-weight:600;border-radius:8px;text-align:center}.nav-header .nav-right .nav-home{width:32px;height:32px;font-size:20px;color:#fff;background:transparent;border:none;cursor:pointer;line-height:1;text-align:center;opacity:.9}.nav-header .nav-right .nav-home:hover{opacity:1}.activity-card{display:flex;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 4px #0000000f;margin-bottom:12px;cursor:pointer;transition:transform .15s,box-shadow .15s}.activity-card:hover{transform:translateY(-2px);box-shadow:0 4px 14px #0000001f}.activity-card:active{transform:scale(.985)}.activity-card .ac-cover{position:relative;width:110px;height:110px;flex-shrink:0;background:#e8f5e9}.activity-card .ac-cover img{width:100%;height:100%;object-fit:cover}.activity-card .ac-cover .ac-cover-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:40px}.activity-card .ac-cover .ac-tag{position:absolute;top:6px;left:6px;font-size:11px;padding:2px 8px;border-radius:4px;background:#2e7d32;color:#fff;font-weight:500;line-height:1.4}.activity-card .ac-cover .ac-fav{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:50%;background:#ffffffe6;display:flex;align-items:center;justify-content:center;color:#9e9e9e;transition:all .15s}.activity-card .ac-cover .ac-fav:active{transform:scale(.85)}.activity-card .ac-cover .ac-fav.active{color:#ef4444;background:#fffffff2}.activity-card .ac-body{flex:1;padding:10px 12px;display:flex;flex-direction:column;min-width:0}.activity-card .ac-title{font-size:14px;font-weight:600;color:#212121;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;margin-bottom:6px}.activity-card .ac-meta{font-size:12px;color:#9e9e9e;display:flex;gap:10px;margin-bottom:6px}.activity-card .ac-meta span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-card .ac-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.activity-card .ac-tags{display:flex;gap:4px;flex-wrap:wrap}.activity-card .ac-tags .tag-org-biz{background:#e8f5e9;color:#2e7d32}.activity-card .ac-tags .tag-org-aa{background:#fff4e6;color:#d9730d}.activity-card .ac-tags .tag-org-personal{background:#fdecea;color:#c62828}.activity-card .ac-tags .tag-org-name{background:#e3f2fd;color:#1565c0;font-weight:600}.activity-card .ac-price{color:#ff5722;font-weight:600;font-size:14px;white-space:nowrap;flex-shrink:0}.activity-card .ac-price .free{color:#2e7d32}.activity-card .ac-price .expired-price{color:#999;font-weight:500;font-size:13px}.activity-card.card-expired{opacity:.85}.activity-card.card-expired .ac-title{color:#666}.activity-card.card-expired .ac-date,.activity-card.card-expired .ac-loc{color:#999}.activity-card.card-expired .tag{opacity:.7}.ac-expired-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059;pointer-events:none;z-index:1}.ac-expired-badge{position:absolute;top:8px;right:8px;background:#000000b3;color:#fff;font-size:11px;padding:3px 8px;border-radius:10px;z-index:2;pointer-events:none;font-weight:500;white-space:nowrap}.guide-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9997}.guide-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent;cursor:pointer}.guide-mask.dim{background:#0000008c}.guide-highlight{position:fixed;z-index:9998;border-radius:12px;pointer-events:none;box-shadow:0 0 0 9999px #0000008c,0 0 0 2px #66bb6ae6;transition:all .25s ease}.guide-bubble{position:fixed;z-index:9999;width:300px;max-width:calc(100vw - 32px);background:#fff;border-radius:14px;padding:14px 16px 12px;box-shadow:0 12px 32px #00000038;transition:opacity .18s ease;box-sizing:border-box}.guide-close{position:absolute;top:8px;right:10px;border:none;background:transparent;color:#bbb;font-size:13px;cursor:pointer;padding:2px;line-height:1}.guide-close:hover{color:#666}.guide-bubble-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.guide-bubble-badge{font-size:11px;color:#2e7d32;background:#e8f5e9;padding:2px 8px;border-radius:10px}.guide-bubble-step{font-size:11px;color:#999}.guide-bubble-title{font-size:15px;font-weight:600;color:#1a1a1a;margin-bottom:6px;padding-right:16px}.guide-bubble-desc{font-size:13px;color:#555;line-height:1.65}.guide-bubble-foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px;gap:8px}.guide-dots{display:flex;gap:5px}.guide-dot{width:6px;height:6px;border-radius:50%;background:#dcdcdc;cursor:pointer;transition:all .15s}.guide-dot.active{background:#2e7d32;width:14px;border-radius:3px}.guide-btns{display:flex;gap:8px}.guide-btn{border:none;font-size:13px;padding:7px 14px;border-radius:16px;cursor:pointer}.guide-btn.ghost{background:#f5f6f8;color:#666}.guide-btn.primary{background:linear-gradient(135deg,#2e7d32,#66bb6a);color:#fff;font-weight:500}.guide-btn:active{opacity:.9}.guide-welcome{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:linear-gradient(160deg,#1f6b2b,#2e7d32 45%,#66bb6a);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;box-sizing:border-box}.guide-welcome-skip{position:absolute;top:calc(16px + env(safe-area-inset-top));right:18px;border:none;background:#ffffff2e;color:#fff;font-size:13px;padding:5px 14px;border-radius:14px;cursor:pointer}.guide-welcome-card{width:100%;max-width:340px;background:#fffffff7;border-radius:20px;padding:26px 22px;box-shadow:0 18px 44px #00000038;text-align:center}.guide-welcome-icon{font-size:52px;line-height:1;margin-bottom:14px}.guide-welcome-video{width:100%;max-height:240px;border-radius:12px;background:#000;display:block;margin-top:4px}.guide-welcome-title{font-size:19px;font-weight:700;color:#1a1a1a;margin-bottom:10px}.guide-welcome-desc{font-size:13px;color:#666;line-height:1.7;margin-bottom:16px}.guide-welcome-points{list-style:none;padding:0;margin:0;text-align:left}.guide-welcome-points li{font-size:13px;color:#333;padding:6px 0;display:flex;align-items:center;gap:8px}.guide-welcome-points li .tick{color:#2e7d32;font-weight:700;font-size:12px}.guide-welcome-foot{width:100%;max-width:340px;margin-top:26px;display:flex;flex-direction:column;align-items:center;gap:18px}.guide-welcome-dots{display:flex;gap:8px}.guide-welcome-dot{width:7px;height:7px;border-radius:50%;background:#fff6;cursor:pointer;transition:all .15s}.guide-welcome-dot.active{background:#fff;width:18px;border-radius:4px}.guide-welcome-btn{width:100%;border:none;background:#fff;color:#2e7d32;font-size:15px;font-weight:600;padding:13px;border-radius:24px;cursor:pointer;box-shadow:0 6px 18px #00000029}.guide-welcome-btn:active{opacity:.92}.guide-task{margin:10px 12px 0;background:#fff;border-radius:14px;padding:12px 14px 10px;box-shadow:0 2px 10px #0000000d}.guide-task-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.guide-task-title{font-size:14px;font-weight:600;color:#1a1a1a}.guide-task-progress{font-size:12px;color:#2e7d32;background:#e8f5e9;padding:1px 7px;border-radius:9px;margin-left:4px}.guide-task-ops{display:flex;align-items:center;gap:10px}.guide-task-link{border:none;background:transparent;color:#2e7d32;font-size:12px;cursor:pointer;padding:0}.guide-task-close{border:none;background:transparent;color:#bbb;font-size:12px;cursor:pointer;padding:0}.guide-task-bar{height:4px;background:#f0f1f3;border-radius:2px;overflow:hidden;margin-bottom:10px}.guide-task-bar-fill{height:100%;background:linear-gradient(90deg,#2e7d32,#66bb6a);border-radius:2px;transition:width .3s ease}.guide-task-list{display:flex;flex-direction:column}.guide-task-item{display:flex;align-items:center;gap:10px;border:none;background:transparent;padding:8px 0;cursor:pointer;text-align:left}.guide-task-item+.guide-task-item{border-top:1px solid #f2f3f5}.guide-task-item.done .guide-task-label{color:#999}.guide-task-item.done .guide-task-status{color:#2e7d32}.guide-task-icon{font-size:17px;width:22px;text-align:center;flex-shrink:0}.guide-task-text{display:flex;flex-direction:column;flex:1;min-width:0}.guide-task-label{font-size:13px;color:#333}.guide-task-desc{font-size:11px;color:#999;margin-top:1px}.guide-task-status{font-size:12px;color:#2e7d32;flex-shrink:0}.guide-hub-tip{font-size:12px;color:#999;line-height:1.6;margin-bottom:12px}.guide-hub-list{display:flex;flex-direction:column;gap:8px}.guide-hub-item{display:flex;align-items:center;gap:8px;width:100%;border:1px solid #eceef1;background:#fafbfc;border-radius:10px;padding:11px 14px;cursor:pointer;transition:all .15s}.guide-hub-item:hover{border-color:#66bb6a;background:#f2faf3}.guide-hub-name{font-size:13px;color:#333;font-weight:500;flex:1;text-align:left}.guide-hub-count{font-size:11px;color:#999}.guide-hub-arrow{color:#bbb;font-size:14px}.activity-list-page{min-height:100vh;background:#f5f6f8;padding-bottom:16px;overflow-x:hidden;width:100%;min-width:0;box-sizing:border-box}.activity-list-page .nav-create-btn{font-size:13px;color:#2e7d32;padding:4px 10px;border-radius:14px;background:#e8f5e9;font-weight:500}.activity-list-page .nav-create-btn:active{background:#c8e6c9}.activity-list-page .nav-cal-btn{font-size:18px;padding:2px 6px;border-radius:8px;background:transparent;border:none;cursor:pointer;line-height:1}.activity-list-page .nav-cal-btn:active{opacity:.6}.search-wrap{display:flex;padding:10px 16px;background:#fff;gap:8px}.search-wrap .search-input{flex:1;background:#f0f2f5;border-radius:20px;padding:8px 16px;font-size:14px}.search-wrap .search-btn{padding:8px 16px;background:#2e7d32;color:#fff;border-radius:20px;font-size:13px}.search-wrap .search-btn:active{background:#1b5e20}.cat-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:10px 16px;background:#fff;border-bottom:1px solid #f0f0f0;width:100%;box-sizing:border-box}.cat-tabs .cat-tab{flex:1 1 calc(25% - 6px);min-width:calc(25% - 6px);max-width:calc(25% - 6px);padding:7px 6px;font-size:12px;color:#616161;border-radius:10px;background:#f5f6f8;display:inline-flex;align-items:center;justify-content:center;gap:3px;transition:all .15s;white-space:nowrap}.cat-tabs .cat-tab .cat-ico{font-size:14px;line-height:1}.cat-tabs .cat-tab.active{background:#2e7d32;color:#fff;font-weight:500}.cat-tabs .cat-tab:not(.active):active{background:#e8e8e8}.filter-row{background:#fff;padding:8px 16px 0;border-bottom:1px solid #f0f0f0}.filter-row .filter-group{display:flex;align-items:center;padding:6px 0;gap:8px}.filter-row .filter-label{font-size:12px;color:#9e9e9e;flex-shrink:0;width:32px}.filter-row .filter-options{display:flex;gap:6px;flex-wrap:wrap}.filter-row .filter-options.no-wrap{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-top:8px;margin-top:-8px}.filter-row .filter-options.no-wrap::-webkit-scrollbar{display:none}.filter-row .f-date-input,.filter-row .f-loc-input{border:1px solid #e0e0e0;background:#fff;padding:4px 10px;font-size:12px;color:#424242;border-radius:14px;outline:none}.filter-row .f-date-input:focus,.filter-row .f-loc-input:focus{border-color:#2e7d32}.filter-row .f-loc-input{width:180px}.filter-row .f-opt{padding:4px 8px;font-size:12px;color:#616161;border-radius:14px;background:#f5f6f8;display:inline-flex;align-items:center;gap:4px;flex-shrink:0;cursor:pointer;transition:all .15s}.filter-row .f-opt:hover{background:#e8f5e9;color:#2e7d32;transform:translateY(-1px)}.filter-row .f-opt .f-stars{position:relative;display:inline-flex;align-items:center;justify-content:center;color:#ff9800;font-size:14px;line-height:1;padding:0 2px 0 0}.filter-row .f-opt .f-stars .star-badge{position:absolute;top:-6px;right:-8px;background:#ff9800;color:#fff;font-size:8px;min-width:10px;height:10px;padding:0 2px;border-radius:5px;display:flex;align-items:center;justify-content:center;line-height:1;font-weight:600;box-shadow:0 0 0 1px #fff}.filter-row .f-opt.active{background:#e8f5e9;color:#2e7d32;font-weight:500}.filter-row .f-opt.active .f-stars .star-badge{background:#2e7d32}.filter-row .filter-actions{display:flex;justify-content:space-between;align-items:center;padding:10px 0;gap:8px}.filter-row .sort-pills{display:flex;gap:4px;flex-wrap:wrap;flex:1}.filter-row .sort-pill{padding:3px 10px;font-size:12px;color:#9e9e9e;border-radius:12px;background:transparent;border:1px solid #e0e0e0}.filter-row .sort-pill.active{background:#2e7d32;border-color:#2e7d32;color:#fff}.filter-row .filter-toggle{flex-shrink:0;font-size:12px;color:#2e7d32;padding:3px 8px}.filter-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:#fff;margin-top:8px}.filter-bar .filter-count{font-size:12px;color:#616161}.filter-bar .filter-clear{font-size:12px;color:#9e9e9e;padding:2px 8px}.filter-bar .filter-clear:active{color:#ef4444}.list-body{padding:12px 16px}.list-body .loading,.list-body .empty{text-align:center;padding:40px 20px;color:#9e9e9e;font-size:14px}.list-body .loading p,.list-body .empty p{margin-bottom:4px}.list-body .loading .text-muted,.list-body .empty .text-muted{font-size:12px}.activity-pin-ad{margin-bottom:12px}.activity-pin-list{display:flex;flex-direction:column;gap:8px}.activity-pin-card{position:relative;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;background:linear-gradient(135deg,#fff7e6,#ffe7ba);border:1px solid #ffd591;text-decoration:none;color:#333;box-shadow:0 2px 6px #ff8c0026;transition:all .2s}.activity-pin-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff8c0040}.activity-pin-card .pin-badge{font-size:11px;background:#ff6b35;color:#fff;padding:3px 8px;border-radius:12px;flex-shrink:0;font-weight:500}.activity-pin-card .pin-title{flex:1;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-pin-card .pin-sponsor{font-size:11px;color:#d48806;flex-shrink:0}.skeleton{display:block;background:linear-gradient(90deg,#0000000f,#0000001f,#0000000f 80%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite;border-radius:6px;overflow:hidden;position:relative}@media (prefers-color-scheme: light){.skeleton{background:linear-gradient(90deg,#eaeaea,#f5f5f5,#eaeaea 80%);background-size:200% 100%}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-circle{border-radius:50%}.skeleton-text{border-radius:4px}.skeleton-img{width:100%;height:100%;min-height:120px}.skeleton-map{width:100%;aspect-ratio:4/3;background:linear-gradient(90deg,#e8e8e8,#f0f0f0,#e8e8e8 80%);position:relative;overflow:hidden}.skeleton-map:after{content:"";position:absolute;top:30%;left:10%;right:10%;bottom:30%;border-top:3px dashed #ccc;border-radius:50%;opacity:.5}.skeleton-map:before{content:"";position:absolute;top:45%;left:15%;width:14px;height:14px;border-radius:50%;background:#74c69d;box-shadow:0 0 0 3px #74c69d33}.skeleton-distance{height:20px;width:280px;border-radius:4px}.skeleton-lines{display:flex;flex-direction:column;gap:8px}.skeleton-line{height:14px;border-radius:4px}.skeleton-line.short{width:60%}.skeleton-line.medium{width:80%}.skeleton-line.full{width:100%}.skeleton-fade-enter{animation:skeleton-fade-in .2s ease-out}@keyframes skeleton-fade-in{0%{opacity:0}to{opacity:1}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.track-map .track-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 4px;flex-wrap:wrap;gap:8px}.track-map .track-stats{display:flex;gap:6px;flex-wrap:wrap}.track-map .stat-chip{font-size:12px;padding:4px 10px;background:#f6fbf7;border:1px solid #b7e4c7;color:#2d6a4f;border-radius:14px;font-weight:500}.track-map .track-actions{display:flex;gap:6px}.track-map .btn-chip{font-size:12px;padding:5px 12px;background:#fff;border:1px solid #dee2e6;color:#495057;border-radius:14px;cursor:pointer;font-weight:500;transition:all .15s}.track-map .btn-chip:hover{border-color:#2d6a4f;color:#2d6a4f}.track-map .btn-chip.primary{background:#2d6a4f;border-color:#2d6a4f;color:#fff}.track-map .btn-chip.primary:hover{background:#1b4332}.track-map .track-range{width:100%;margin:6px 0 10px;accent-color:#2d6a4f}.track-map .track-leaflet{position:relative;z-index:1;height:360px;width:100%;border-radius:12px;border:1px solid #e9ecef;flex:none;overflow:visible}.track-map .track-leaflet .map-style-switcher{position:absolute;top:10px;right:10px;z-index:1000;display:flex;gap:4px;background:#fffffff2;border-radius:8px;padding:4px;box-shadow:0 2px 8px #0000001f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.track-map .track-leaflet .map-style-switcher button{border:none;background:transparent;padding:5px 10px;border-radius:6px;font-size:12px;font-weight:500;color:#666;cursor:pointer;transition:all .2s;white-space:nowrap}.track-map .track-leaflet .map-style-switcher button:hover{background:#f0f0f0}.track-map .track-leaflet .map-style-switcher button.active{background:#2d8a3e;color:#fff;font-weight:600}.track-map .track-leaflet .leaflet-container{height:100%!important;width:100%!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#e8e8e8;overflow:hidden;border-radius:12px}.track-map .track-leaflet .leaflet-control-attribution{font-size:10px!important;background:#ffffffb3!important}.track-map .track-leaflet .leaflet-control-zoom{border:none!important;box-shadow:0 1px 5px #00000026!important}.track-map .wp-overlay{position:absolute;z-index:1500;background:#fff;border-radius:12px;box-shadow:0 8px 24px #0000002e;padding:12px;pointer-events:auto;animation:wpFadeIn .2s ease-out}@keyframes wpFadeIn{0%{opacity:0;transform:translateY(4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.track-map .wp-overlay .wp-overlay-close{position:absolute;top:6px;right:8px;width:22px;height:22px;border:none;background:transparent;font-size:18px;color:#868e96;cursor:pointer;border-radius:50%;line-height:1}.track-map .wp-overlay .wp-overlay-close:hover{background:#f1f3f5;color:#212529}.track-map .wp-overlay .wp-overlay-header{display:flex;gap:6px;align-items:center;font-weight:600;color:#2d6a4f;font-size:14px;margin-bottom:6px;padding-right:20px}.track-map .wp-overlay .wp-overlay-stats{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.track-map .wp-overlay .wp-overlay-stat{font-size:11px;color:#495057;background:#f1f3f5;border-radius:10px;padding:2px 8px;font-weight:500;white-space:nowrap}.track-map .wp-overlay .wp-overlay-stat.wp-overlay-stat-gain{color:#e03131;background:#ffe3e3}.track-map .wp-overlay .wp-overlay-img{position:relative;border-radius:8px;overflow:hidden;margin-bottom:8px;height:160px}.track-map .wp-overlay .wp-overlay-img.wp-overlay-img-empty{height:160px}.track-map .wp-overlay .wp-overlay-img.wp-overlay-img-empty img{width:100%;height:100%;object-fit:cover}.track-map .wp-overlay .wp-overlay-img.wp-overlay-img-empty span{position:absolute;left:0;right:0;bottom:0;text-align:center;font-size:16px;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.6);background:#00000059;padding:4px 0;border-radius:0 0 8px 8px}.track-map .wp-overlay .wp-overlay-img .ant-image{width:100%;display:block;cursor:zoom-in}.track-map .wp-overlay .wp-overlay-img img{width:100%;max-height:160px;object-fit:cover;display:block;border-radius:8px}.track-map .wp-overlay .wp-overlay-img .wp-img-nav{position:absolute;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;border:none;background:#00000080;color:#fff;font-size:16px;line-height:24px;text-align:center;cursor:pointer;padding:0;z-index:3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:background .15s,transform .15s}.track-map .wp-overlay .wp-overlay-img .wp-img-nav:hover:not(:disabled){background:#000c;transform:translateY(-50%) scale(1.15)}.track-map .wp-overlay .wp-overlay-img .wp-img-nav:disabled{opacity:.25;cursor:not-allowed}.track-map .wp-overlay .wp-overlay-img .wp-img-nav.wp-img-prev{left:6px}.track-map .wp-overlay .wp-overlay-img .wp-img-nav.wp-img-next{right:6px}.track-map .wp-overlay .wp-overlay-img .wp-img-counter{position:absolute;top:6px;right:6px;background:#00000080;color:#fff;font-size:10px;padding:2px 7px;border-radius:8px;z-index:3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.track-map .wp-overlay .wp-overlay-img .wp-overlay-img-elev,.track-map .wp-overlay .wp-overlay-img .wp-overlay-img-dist{position:absolute;background:#0000008c;color:#fff;font-size:10px;padding:2px 6px;border-radius:8px;font-weight:500;line-height:1.3;letter-spacing:.2px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2}.track-map .wp-overlay .wp-overlay-img .wp-overlay-img-elev{left:6px;bottom:6px}.track-map .wp-overlay .wp-overlay-img .wp-overlay-img-dist{right:6px;bottom:6px}.track-map .wp-overlay .wp-overlay-desc{font-size:13px;color:#495057;margin:0;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.track-map .wp-overlay .wp-overlay-coord{font-size:11px;color:#868e96;margin-top:6px}.track-map .wp-overlay .wp-overlay-arrow{position:absolute;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:8px solid #fff;border-bottom:8px solid #fff}.track-map .elev-chart{margin-top:10px}.track-map .elev-chart .elev-labels{display:flex;justify-content:space-between;font-size:11px;color:#868e96;margin-top:4px}.track-map .elev-chart .elev-labels .elev-current{font-weight:600;color:#e8590c}.start-marker,.end-marker,.wp-marker,.runner-marker{background:none!important;border:none!important}.endpoint{width:32px;height:32px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff;box-shadow:0 2px 6px #00000040}.endpoint--start{background:#2d6a4f}.endpoint--end{background:#e8590c}.endpoint>div{transform:rotate(45deg)}.wp-marker{width:28px;height:36px}.wp-pin{width:28px;height:36px;background:#fff;border:2px solid #2d6a4f;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #00000026;font-weight:700;color:#2d6a4f;font-size:12px;transition:all .2s}.wp-pin>div{transform:rotate(45deg)}.wp-pin--selected{border-color:#e8590c;color:#e8590c;transform:rotate(-45deg) scale(1.15);box-shadow:0 2px 10px #e8590c66}.runner-marker{width:20px;height:20px}.runner-dot{width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid #2d6a4f;margin:0 auto;box-shadow:0 0 0 4px #2d6a4f33;animation:pulse 1.2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 4px #2d6a4f33}50%{box-shadow:0 0 0 8px #2d6a4f0d}}.leaflet-popup-content-wrapper{border-radius:10px}.leaflet-popup-content{margin:12px 14px!important;min-width:220px}.wp-popup-content .wp-popup-title{font-weight:600;color:#2d6a4f;font-size:14px;margin-bottom:6px;display:flex;gap:4px;align-items:center}.wp-popup-content .wp-popup-desc{font-size:13px;color:#495057;margin:0 0 8px;line-height:1.6}.wp-popup-content .wp-popup-img{border-radius:6px;overflow:hidden;margin-bottom:8px}.wp-popup-content .wp-popup-img img{width:100%;max-height:180px;object-fit:cover}.wp-popup-content .wp-popup-coord{font-size:11px;color:#868e96}.weather-card .w-header{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#2d6a4f;font-weight:600;margin-bottom:10px;gap:10px}.weather-card .w-header>span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weather-card .w-header-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.weather-card .w-source{display:flex;gap:2px;background:#f1f3f5;border-radius:16px;padding:2px;flex-shrink:0}.weather-card .w-source-btn{border:none;background:transparent;font-size:12px;line-height:1;padding:3px 6px;border-radius:14px;cursor:pointer;transition:background .15s}.weather-card .w-source-btn:hover:not(.w-source-active){background:#e9ecef}.weather-card .w-source-btn.w-source-active{background:#fff;box-shadow:0 1px 3px #0000001a}.weather-card .w-toggle{display:flex;gap:2px;background:#e9ecef;border-radius:16px;padding:2px;flex-shrink:0}.weather-card .w-toggle-btn{border:none;background:transparent;font-size:11px;font-weight:500;color:#868e96;padding:3px 10px;border-radius:14px;cursor:pointer;transition:background .15s,color .15s}.weather-card .w-toggle-btn:hover:not(.w-toggle-active){color:#495057}.weather-card .w-toggle-btn.w-toggle-active{background:#fff;color:#2d6a4f;box-shadow:0 1px 3px #0000001f;font-weight:600}.weather-card .w-grid{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:2px 2px 10px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#ced4da transparent}.weather-card .w-grid::-webkit-scrollbar{height:4px}.weather-card .w-grid::-webkit-scrollbar-track{background:transparent}.weather-card .w-grid::-webkit-scrollbar-thumb{background:#ced4da;border-radius:2px;transition:background .2s}.weather-card .w-grid::-webkit-scrollbar-thumb:hover{background:#495057}.weather-card .w-grid::-webkit-scrollbar-thumb:active{background:#2d8a3e}.weather-card .w-alert{display:flex;align-items:flex-start;gap:6px;margin:0 0 8px;padding:8px 10px;border-radius:10px;font-size:12px;line-height:1.6}.weather-card .w-alert .w-alert-icon{flex-shrink:0}.weather-card .w-alert.w-alert-high{background:#fdecea;color:#c62828;border:1px solid #f5c6c0;font-weight:600}.weather-card .w-alert.w-alert-mid{background:#fff7e6;color:#b26a00;border:1px solid #ffe1ad;font-weight:500}.weather-card .w-air{--air-color: #2e7d32;--air-bg: #e8f5e9;margin:0 0 10px;padding:10px 12px 9px;border-radius:12px;background:#fff;border:1px solid #e9ecef;border-left:4px solid var(--air-color);box-shadow:0 1px 2px #00000008;font-size:12px;color:#495057}.weather-card .w-air.w-air-good{--air-color: #2e7d32;--air-bg: #e8f5e9}.weather-card .w-air.w-air-moderate{--air-color: #9a7300;--air-bg: #fff8e1}.weather-card .w-air.w-air-light{--air-color: #e8590c;--air-bg: #fff3e0}.weather-card .w-air.w-air-medium{--air-color: #c92a2a;--air-bg: #ffebee}.weather-card .w-air.w-air-heavy{--air-color: #6a1b9a;--air-bg: #f3e5f5}.weather-card .w-air.w-air-severe{--air-color: #880e4f;--air-bg: #fce4ec}.weather-card .w-air-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.weather-card .w-air-title{flex-shrink:0;font-size:12px;font-weight:700;color:#343a40}.weather-card .w-air-primary{font-size:10px;color:#868e96;background:#f1f3f5;border-radius:8px;padding:1px 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weather-card .w-air-body{display:flex;align-items:stretch;gap:10px;margin-top:8px}.weather-card .w-air-score{flex:none;display:flex;align-items:center;gap:7px;padding:5px 10px;border-radius:10px;background:var(--air-bg)}.weather-card .w-air-value{font-size:25px;font-weight:800;line-height:1;color:var(--air-color);font-variant-numeric:tabular-nums}.weather-card .w-air-score-side{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.weather-card .w-air-aqi-label{font-size:9px;line-height:1;letter-spacing:.6px;color:var(--air-color);opacity:.75}.weather-card .w-air-level{font-size:11px;font-weight:700;line-height:14px;padding:0 7px;border-radius:7px;color:#fff;background:var(--air-color)}.weather-card .w-air-detail{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:5px}.weather-card .w-air-metrics{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.weather-card .w-air-metric{display:inline-flex;align-items:baseline;gap:3px;padding:1px 6px;border-radius:6px;background:#f8f9fa;border:1px solid #eef0f2}.weather-card .w-air-metric i{font-style:normal;font-size:10px;color:#868e96}.weather-card .w-air-metric b{font-size:11px;font-weight:700;color:#343a40}.weather-card .w-air-unit{font-size:9px;color:#adb5bd}.weather-card .w-air-advice{display:flex;align-items:flex-start;gap:5px;font-size:11px;line-height:1.4;color:#495057}.weather-card .w-air-advice-dot{flex:none;width:5px;height:5px;margin-top:5px;border-radius:50%;background:var(--air-color)}.weather-card .w-air-foot{margin-top:7px;padding-top:6px;border-top:1px dashed #eef0f2;font-size:9px;color:#adb5bd}.weather-card .w-day-air{display:inline-block;font-size:10px;font-weight:700;line-height:14px;padding:0 6px;border-radius:7px;margin:1px 0 4px;min-width:46px;min-height:14px;color:var(--aqi-color, #adb5bd);background:var(--aqi-bg, transparent)}.weather-card .w-hour-air{display:inline-block;font-size:9px;font-weight:700;line-height:13px;padding:0 4px;border-radius:6px;color:var(--aqi-color, #adb5bd);background:var(--aqi-bg, transparent)}.weather-card .w-air-text-good{--aqi-color: #2e7d32;--aqi-bg: #e8f5e9}.weather-card .w-air-text-moderate{--aqi-color: #9a7300;--aqi-bg: #fff8e1}.weather-card .w-air-text-light{--aqi-color: #e8590c;--aqi-bg: #fff3e0}.weather-card .w-air-text-medium{--aqi-color: #c92a2a;--aqi-bg: #ffebee}.weather-card .w-air-text-heavy{--aqi-color: #6a1b9a;--aqi-bg: #f3e5f5}.weather-card .w-air-text-severe{--aqi-color: #880e4f;--aqi-bg: #fce4ec}.weather-card .w-day.w-past .w-day-air{opacity:.6}.weather-card .w-day{flex:none;width:108px;min-width:108px;max-width:108px;scroll-snap-align:start;text-align:center;padding:12px 6px 10px;border-radius:10px;background:#f8f9fa;border:1px solid #e9ecef;font-size:12px;transition:background .15s;box-sizing:border-box;overflow:hidden;cursor:pointer}.weather-card .w-day.w-danger{border:1.5px solid #ef5350;background:#fff5f4}.weather-card .w-day.w-danger .w-danger-dot{color:#ef5350;font-size:10px;margin-left:2px}.weather-card .w-day:hover{background:#e9f5ec}.weather-card .w-day.w-today{border-color:#2d6a4f;border-width:2px}.weather-card .w-day.w-past{background:#f1f3f5;border-color:#dee2e6;opacity:.6}.weather-card .w-day.w-past .w-weather{color:#adb5bd}.weather-card .w-day.w-past .w-sun-rise,.weather-card .w-day.w-past .w-sun-set{opacity:.7}.weather-card .w-day.w-selected{background:#2d6a4f;border-color:#2d6a4f;border-width:2px;color:#fff;opacity:1}.weather-card .w-day.w-selected .w-date,.weather-card .w-day.w-selected .w-weather,.weather-card .w-day.w-selected .w-max,.weather-card .w-day.w-selected .w-min,.weather-card .w-day.w-selected .w-meta{color:#ffffffd9}.weather-card .w-day.w-selected .w-max{color:#fff;font-weight:700}.weather-card .w-day.w-selected .w-sun{color:#fff9;border-top-color:#fff3}.weather-card .w-day.w-selected .w-precip{color:#ff8787!important;font-weight:700!important}.weather-card .w-day.w-selected .w-precip-prob{color:#ffe3e3!important}.weather-card .w-day .w-label{font-weight:600;font-size:12px}.weather-card .w-day .w-date{color:#868e96;font-size:10px;margin:2px 0 6px}.weather-card .w-day .w-icon{font-size:28px;margin:2px 0 4px}.weather-card .w-day .w-weather{color:#495057;font-size:11px;margin-bottom:6px}.weather-card .w-day .w-temps{display:flex;justify-content:center;align-items:baseline;gap:2px;margin-bottom:6px}.weather-card .w-day .w-max{color:#e8590c;font-weight:700;font-size:14px}.weather-card .w-day .w-slash{color:#ced4da;font-size:11px}.weather-card .w-day .w-min{color:#1971c2;font-size:12px}.weather-card .w-day .w-sun{font-size:9px;color:#adb5bd;margin-top:6px;padding-top:4px;border-top:1px dashed #e9ecef;line-height:1.2}.weather-card .w-day .w-meta{color:#868e96;font-size:10px;line-height:1.3;min-height:26px}.weather-card .w-day .w-precip{color:#e03131;font-weight:700}.weather-card .w-day .w-precip-prob{color:#e8590c}.weather-card .w-loading{text-align:center;color:#868e96;padding:12px;font-size:13px}.weather-card .w-error{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:20px 16px;background:#fff5f5;border-radius:10px;border:1px solid #ffe3e3}.weather-card .w-error .w-error-icon{font-size:28px}.weather-card .w-error .w-error-msg{font-size:13px;color:#c92a2a;line-height:1.5}.weather-card .w-error .w-error-actions{display:flex;gap:8px;justify-content:center;margin-top:4px}.weather-card .w-error .w-error-retry{border:none;background:#2d8a3e;color:#fff;font-size:12px;font-weight:600;padding:7px 16px;border-radius:16px;cursor:pointer;transition:background .15s}.weather-card .w-error .w-error-retry:hover{background:#247031}.weather-card .w-error .w-error-switch{border:none;background:#5c7cfa;color:#fff;font-size:12px;font-weight:600;padding:7px 16px;border-radius:16px;cursor:pointer;transition:background .15s}.weather-card .w-error .w-error-switch:hover{background:#4c6ef5}.weather-card .w-skeleton .w-skeleton-day{width:108px;min-width:108px;max-width:108px;flex:none;pointer-events:none;background:#f8f9fa}.weather-card .w-skeleton .w-sk{background:linear-gradient(90deg,#e9ecef 25%,#f1f3f5,#e9ecef 75%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:4px;margin:0 auto}.weather-card .w-skeleton .w-sk-label{width:42px;height:12px;margin-top:2px}.weather-card .w-skeleton .w-sk-date{width:36px;height:9px;margin-top:4px}.weather-card .w-skeleton .w-sk-icon{width:28px;height:28px;border-radius:50%;margin:6px auto}.weather-card .w-skeleton .w-sk-weather{width:50px;height:10px}.weather-card .w-skeleton .w-sk-temps{width:58px;height:14px;margin-top:8px}.weather-card .w-skeleton .w-sk-sun{width:70px;height:11px;margin-top:8px}.weather-card .w-skeleton .w-sk-meta{width:56px;height:9px;margin-top:6px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.w-hour-panel{margin-top:12px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:10px;padding:10px 12px 12px;animation:panelDown .25s ease;overflow:hidden}@keyframes panelDown{0%{opacity:0;transform:translateY(-6px);max-height:0}to{opacity:1;transform:translateY(0);max-height:300px}}.w-hour-head{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;color:#495057;margin-bottom:8px}.w-hour-close{background:none;border:1px solid #dee2e6;border-radius:6px;font-size:11px;color:#868e96;cursor:pointer;padding:3px 8px;font-weight:500}.w-hour-close:hover{background:#fff;color:#495057}.w-hour-scroll{display:flex;overflow-x:auto;gap:6px;padding-bottom:10px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#ced4da transparent}.w-hour-scroll::-webkit-scrollbar{height:4px}.w-hour-scroll::-webkit-scrollbar-track{background:transparent}.w-hour-scroll::-webkit-scrollbar-thumb{background:#ced4da;border-radius:2px;transition:background .2s}.w-hour-scroll::-webkit-scrollbar-thumb:hover{background:#495057}.w-hour-scroll::-webkit-scrollbar-thumb:active{background:#2d8a3e}.w-hour-sun{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;background:#f8f9fa;border-radius:8px;font-size:12px;color:#868e96}.w-hour-sun .w-sun-dash{color:#dee2e6}.w-hour-sun .w-sun-duration{margin-left:auto;color:#e67e22;font-weight:600}.w-hour-cell{flex:none;display:flex;flex-direction:column;align-items:center;width:52px;min-width:52px;scroll-snap-align:start;background:#fff;border-radius:8px;padding:6px 3px;text-align:center;border:1px solid #e9ecef;box-sizing:border-box}.w-hour-cell .w-hour-label{font-size:10px;color:#868e96;margin-bottom:1px}.w-hour-cell .w-hour-icon{font-size:18px;line-height:1;margin:1px 0}.w-hour-cell .w-hour-temp{font-size:13px;font-weight:700;color:#212529}.w-hour-cell .w-hour-meta{min-height:13px;font-size:9px;line-height:13px;color:#e03131;margin-top:1px;font-weight:600}.w-hour-cell .w-hour-air{margin-top:auto}.w-expert-panel{margin-top:14px;background:linear-gradient(135deg,#fff9db,#fff3bf);border-radius:12px;padding:14px 14px 16px;border:1px solid #ffe066;animation:expertIn .3s ease}@keyframes expertIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.w-expert-title{font-size:13px;font-weight:700;color:#86590e;margin-bottom:10px;display:flex;align-items:center;gap:6px}.w-expert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.w-expert-item{background:#fff;border-radius:8px;padding:8px 6px;text-align:center;border:1px solid #ffec99;transition:transform .15s,box-shadow .15s}.w-expert-item:hover{transform:translateY(-2px);box-shadow:0 3px 8px #ffc10733}.w-expert-item .w-expert-emoji{font-size:20px;line-height:1;margin-bottom:2px}.w-expert-item .w-expert-label{font-size:9px;color:#868e96;font-weight:500;line-height:1.2}.w-expert-item .w-expert-value{font-size:13px;font-weight:700;color:#212529;margin:2px 0}.w-expert-item .w-expert-hint{font-size:9px;color:#e67e22;font-weight:500;line-height:1.2}.w-meteogram{margin-top:14px;background:#fff;border-radius:10px;padding:12px;border:1px solid #dee2e6}.w-meteogram-title{font-size:13px;font-weight:700;color:#495057;margin-bottom:8px}.w-meteogram-img{width:100%;display:block;border-radius:6px;background:#f8f9fa;border:1px solid #e9ecef}.w-meteogram-note{margin-top:6px;font-size:10px;color:#adb5bd;text-align:center}.w-meteogram-hint{font-size:10px;color:#868e96;font-weight:400}.w-meteogram-img{cursor:zoom-in;transition:transform .2s}.w-meteogram-img:hover{transform:scale(1.01)}.w-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000000e0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;animation:lbFadeIn .2s ease}@keyframes lbFadeIn{0%{opacity:0}to{opacity:1}}.w-lightbox-zoom{display:flex;align-items:center;justify-content:center;max-width:100%;max-height:85vh;overflow:hidden;touch-action:none}.w-lightbox-img{max-width:100%;max-height:85vh;border-radius:10px;box-shadow:0 20px 60px #00000080;animation:lbPopIn .25s ease;transform-origin:center center;will-change:transform;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}@keyframes lbPopIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.w-lightbox-close{position:fixed;top:16px;right:20px;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);padding:6px 14px;border-radius:20px;font-size:13px;cursor:pointer;transition:background .15s}.w-lightbox-close:hover{background:#ffffff4d}.w-lightbox-tip{margin-top:12px;color:#ffffff80;font-size:12px}.w-upsell{display:block;width:100%;margin-top:10px;padding:10px 12px;border:1px dashed #d9b24a;border-radius:10px;background:linear-gradient(135deg,#fffaf0,#fff3d6);color:#8a6d1a;font-size:13px;text-align:center;cursor:pointer;transition:background .2s}.w-upsell:hover{background:linear-gradient(135deg,#fff5df,#ffedc4)}.w-locked{display:flex;flex-direction:column;align-items:center;padding:28px 20px 22px;text-align:center}.w-locked .w-locked-icon{font-size:30px;line-height:1}.w-locked .w-locked-title{margin-top:10px;font-size:15px;font-weight:700;color:#2b2b2b}.w-locked .w-locked-desc{margin-top:8px;font-size:12px;line-height:1.65;color:#888;max-width:300px}.w-locked .w-locked-btn{margin-top:16px;padding:9px 22px;border:none;border-radius:18px;background:linear-gradient(135deg,#d8a43c,#f0c96a);color:#4a3408;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #d8a43c47}.w-locked .w-locked-btn:hover{filter:brightness(1.04)}.w-locked .w-locked-back{margin-top:10px;padding:4px 8px;border:none;background:transparent;color:#8a8a8a;font-size:12px;cursor:pointer;text-decoration:underline}.detail-page{min-height:100vh;background:#f6fbf7;padding-bottom:80px}.detail-cover{position:relative;width:100%;height:260px;background:#e8e8e8}.detail-cover img{width:100%;height:100%;object-fit:cover}.detail-cover .cover-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:90px}.detail-cover .status-badge{position:absolute;top:16px;left:16px;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600}.detail-cover .status-badge.full{background:#ffe8e8;color:#c92a2a}.detail-cover .status-badge.ended{background:#f1f3f5;color:#868e96}.detail-cover .detail-fav{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;background:#ffffffe6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;color:#6b7280;transition:all .15s;z-index:2}.detail-cover .detail-fav:active{transform:scale(.85)}.detail-cover .detail-fav.active{color:#ef4444}.detail-cover:after{content:"";position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(to top,rgb(246,251,247),transparent);pointer-events:none}.detail-header{padding:18px 20px 12px;margin-top:-24px;position:relative;z-index:1}.detail-header .detail-title{font-size:22px;font-weight:700;color:#1a1a1a;margin:0 0 10px;line-height:1.35}.detail-header .detail-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:#868e96;margin-bottom:10px}.detail-header .detail-tags{display:flex;flex-wrap:wrap;gap:8px}.detail-header .detail-publisher{display:flex;align-items:center;gap:4px;margin-top:12px;padding:8px 12px;background:linear-gradient(90deg,#f0f7ff,transparent);border-left:3px solid #1976d2;border-radius:0 8px 8px 0;font-size:13px}.detail-header .detail-publisher .pub-icon{font-size:16px}.detail-header .detail-publisher .pub-label{color:#666}.detail-header .detail-publisher .pub-name{color:#1565c0;font-weight:600}.detail-header .detail-publisher .pub-hint{color:#999;font-size:11px}.tag{font-size:12px;padding:4px 10px;background:#fff;color:#2d6a4f;border:1px solid #b7e4c7;border-radius:14px;font-weight:500}.stats-card{display:flex;align-items:center;margin:0 16px 16px;padding:16px 12px;background:#fff;border:1px solid #e9ecef;border-radius:14px;box-shadow:0 1px 3px #0000000a}.stat-item{flex:1;text-align:center}.stat-item .stat-val{font-size:18px;font-weight:700;color:#2d6a4f;line-height:1.2}.stat-item .stat-val.price{color:#e8590c}.stat-item .stat-label{font-size:12px;color:#868e96;margin-top:3px}.stat-sep{width:1px;height:32px;background:#e9ecef}.detail-card{margin:0 16px 16px;background:#fff;border:1px solid #e9ecef;border-radius:14px;box-shadow:0 1px 3px #0000000a;overflow:hidden}.detail-card .card-header{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid #e9ecef;background:#fff}.detail-card .card-header .card-icon{font-size:18px}.detail-card .card-header .card-title{margin:0;font-size:15px;font-weight:700;color:#1a1a1a;letter-spacing:.3px}.detail-card .card-body{padding:16px 18px}.detail-card.review-card .card-body{background:#f6fbf7}.detail-card.sos-card .card-body{background:#fff8f6}.lead{font-size:15px;line-height:1.75;color:#2d6a4f;font-weight:500;margin:0 0 14px}.attractions-grid{display:flex;flex-direction:column;gap:12px;margin-top:4px}.attraction{display:flex;gap:12px;padding:12px 14px;background:#f6fbf7;border-radius:10px}.attraction .attraction-emoji{font-size:22px;width:38px;height:38px;min-width:38px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:10px;border:1px solid #b7e4c7}.attraction .attraction-body{flex:1}.attraction .attraction-body h4{margin:0 0 4px;font-size:14.5px;font-weight:600;color:#1a1a1a}.attraction .attraction-body p{margin:0;font-size:13.5px;line-height:1.65;color:#495057}.route-text{font-size:14px;line-height:1.85;color:#495057}.route-text p{margin:0 0 6px}.route-text p:first-child:first-letter{font-size:17px;font-weight:600;color:#2d6a4f}.route-timeline{padding:4px 0}.timeline-item{position:relative;padding-left:36px;padding-bottom:14px}.timeline-item:last-child{padding-bottom:0}.timeline-item .timeline-dot{position:absolute;left:0;top:0;width:24px;height:24px;background:#2d6a4f;color:#fff;border-radius:50%;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.timeline-item .timeline-label{font-size:14px;color:#495057;padding-top:3px}.timeline-item .timeline-line{position:absolute;left:11px;top:26px;width:2px;height:calc(100% + 10px);background:#b7e4c7}.nav-start-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:12px 0;padding:12px 14px;background:linear-gradient(135deg,#e8f5e9,#fff3e0);border-radius:10px;border:1px solid #c8e6c9}.nav-start-info{display:flex;flex-direction:column;gap:4px;min-width:0}.nav-start-label{font-size:13px;font-weight:700;color:#2e7d32;white-space:nowrap}.nav-start-name{font-size:12px;color:#5d4037;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.nav-start-actions{display:flex;gap:8px;flex-shrink:0}.nav-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border:none;border-radius:10px;font-family:inherit;font-size:13px;font-weight:700;text-decoration:none;color:#fff;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 2px 6px #0000001f}.nav-btn:active{transform:scale(.95);box-shadow:0 1px 3px #0000001a}.nav-btn-copy{padding:8px 10px;background:#f5f7f5;border:1px solid #dbe4dc;color:#5d7a62;font-size:12px;font-weight:500;box-shadow:none}.info-grid-item{background:#f6fbf7;border-radius:10px;padding:12px 14px}.info-grid-item .info-grid-label{font-size:12px;font-weight:600;color:#2d6a4f;margin-bottom:6px;letter-spacing:.5px}.info-grid-item .info-grid-content{font-size:13px;line-height:1.7;color:#495057}.col-title{margin:0 0 8px;font-size:13px;font-weight:600;color:#2d6a4f;letter-spacing:.5px}.equip-list,.tips-list{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}.equip-list li{font-size:12.5px;padding:4px 10px;background:#fff;border:1px solid #b7e4c7;border-radius:14px;color:#2d6a4f}.tips-list{flex-direction:column;flex-wrap:nowrap}.tips-list li{font-size:13.5px;padding:10px 14px 10px 32px;background:#f6fbf7;border-radius:6px;color:#495057;position:relative;line-height:1.6}.tips-list li:before{content:"💡";position:absolute;left:10px;top:9px;font-size:13px}.equip-check-link{margin-top:12px;padding:10px 14px;background:#f0f9ff;border-radius:10px;font-size:13px;color:#1890ff;font-weight:500;cursor:pointer;text-align:center;transition:background .15s}.equip-check-link:active{background:#e6f7ff}.attraction-img{margin-top:10px;border-radius:10px;overflow:hidden;line-height:0}.attraction-img img{width:100%;height:140px;object-fit:cover}.review-gallery img{width:100%;height:220px;object-fit:cover;display:block;transition:opacity .2s ease}.review-gallery .rg-btn{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;background:#0000008c;border:none;color:#fff;font-size:22px;line-height:30px;text-align:center;cursor:pointer;padding:0;z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .15s,transform .15s}.review-gallery .rg-btn:hover{background:#000000bf;transform:translateY(-50%) scale(1.1)}.review-gallery .rg-dots .rg-dot{width:6px;height:6px;border-radius:50%;background:#ffffff80;cursor:pointer;transition:background .15s,transform .15s}.review-gallery .rg-counter{position:absolute;top:10px;right:10px;background:#00000080;color:#fff;font-size:11px;padding:3px 8px;border-radius:10px;z-index:2;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.review-text{margin:0;font-size:14.5px;line-height:1.95;color:#495057;text-indent:2em;font-style:italic}.related-guides{margin-top:14px}.related-guides .rg-sub-title{font-size:13.5px;font-weight:600;color:#2d6a4f;padding:10px 0 8px;border-top:1px dashed #dee2e6}.related-guides .rg-guide-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:10px;background:#fff;border:1px solid #e9ecef;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.related-guides .rg-guide-item+.rg-guide-item{margin-top:10px}.related-guides .rg-guide-item:hover{border-color:#b7e4c7;box-shadow:0 2px 8px #2d6a4f14}.related-guides .rg-guide-cover{width:88px;height:66px;border-radius:6px;object-fit:cover;flex-shrink:0}.related-guides .rg-guide-cover.rg-guide-cover-ph{display:flex;align-items:center;justify-content:center;font-size:26px;background:#d8f3dc}.related-guides .rg-guide-body{flex:1;min-width:0}.related-guides .rg-guide-title{font-size:14px;font-weight:600;color:#1a1a1a;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.related-guides .rg-guide-meta{margin-top:4px;display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:#868e96}.related-guides .rg-guide-tags{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px}.related-guides .rg-guide-tag{font-size:11px;line-height:1;padding:4px 8px;border-radius:999px;color:#2d6a4f;background:#d8f3dc}.related-guides .rg-guide-arrow{flex-shrink:0;font-size:20px;color:#adb5bd}.review-card .card-body>.related-guides:first-child{margin-top:0}.review-card .card-body>.related-guides:first-child .rg-sub-title{border-top:none;padding-top:2px}.text-rich{font-size:14px;line-height:1.8;color:#495057}.text-rich p{margin:0 0 8px}.weather-row{display:flex;align-items:center;gap:16px}.weather-row .w-temp{font-size:28px;font-weight:700;color:#2d6a4f}.weather-row .w-detail{font-size:13px;color:#495057}.weather-row .w-detail .w-sub{color:#868e96;font-size:12.5px;margin-top:2px}.bottom-bar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;display:flex;flex-direction:column;padding:8px 12px;padding-bottom:calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e9ecef;box-shadow:0 -2px 12px #0000000d;z-index:2000;box-sizing:border-box}.bottom-bar .bb-promo-row{display:flex;align-items:center;gap:8px;padding:6px 0 8px}.bottom-bar .bb-promo-row .bb-promo-toggle{font-size:12px;color:#ff7043;background:none;border:1px dashed #ffcc80;border-radius:12px;padding:3px 10px;cursor:pointer;flex-shrink:0}.bottom-bar .bb-promo-row .bb-promo-input-wrap{display:flex;gap:6px;flex:1}.bottom-bar .bb-promo-row .bb-promo-input{flex:1;min-width:0;font-size:12px;padding:4px 8px;border:1px solid #eee;border-radius:6px;outline:none;font-family:monospace}.bottom-bar .bb-promo-row .bb-promo-apply{font-size:12px;padding:4px 10px;background:#ff7043;color:#fff;border:none;border-radius:6px;cursor:pointer;flex-shrink:0}.bottom-bar .bb-promo-row .bb-promo-apply:disabled{background:#ccc}.bottom-bar .bb-promo-row .bb-promo-applied{display:flex;gap:8px;align-items:center;flex:1;min-width:0;font-size:11px;flex-wrap:wrap}.bottom-bar .bb-promo-row .bb-promo-applied .bb-promo-tag{background:#fff3e0;color:#e65100;padding:2px 8px;border-radius:4px;font-weight:600}.bottom-bar .bb-promo-row .bb-promo-applied .bb-promo-discount{color:#e53935;font-weight:600}.bottom-bar .bb-promo-row .bb-promo-applied .bb-promo-final{color:#455a64}.bottom-bar .bb-promo-row .bb-promo-applied .bb-promo-clear{font-size:14px;color:#999;background:none;border:none;cursor:pointer;padding:0 4px}.bottom-bar .bb-main-row{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px}.bottom-bar .bb-info{flex:1;min-width:0}.bottom-bar .bb-info .bb-title{font-size:14px;font-weight:600;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.bottom-bar .bb-info .bb-price{font-size:16px;font-weight:700;color:#e8590c;margin-top:2px;display:flex;align-items:baseline;gap:6px}.bottom-bar .bb-info .bb-price .free{color:#2d6a4f;font-size:15px}.bottom-bar .bb-info .bb-price .price-original{font-size:12px;color:#aaa;text-decoration:line-through;font-weight:400}.bottom-bar .btn-primary{padding:12px 28px;font-size:15px;font-weight:600;color:#fff;background:#2d6a4f;border:none;border-radius:24px;cursor:pointer}.bottom-bar .btn-primary:disabled{background:#adb5bd;cursor:not-allowed}.bottom-bar .btn-primary.reg-done{background:#86c094;cursor:default}.bottom-bar .btn-primary.disabled{background:#adb5bd;cursor:not-allowed}.bottom-bar .btn-primary:active:not(:disabled):not(.reg-done){background:#255842}.loading,.empty{text-align:center;padding:80px 20px;color:#868e96;font-size:14px}@media (min-width: 768px){.info-grid{grid-template-columns:1fr 1fr}}.ad-activity-sponsor{margin:12px;padding:10px 14px;background:linear-gradient(135deg,#f5f7fa,#e4e8ec);border-radius:10px;border:1px solid #e8e8e8}.ad-sponsor-row{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.ad-sponsor-row:hover .ad-sponsor-text strong{color:#667eea}.ad-sponsor-logo{height:28px;max-width:100px;object-fit:contain;border-radius:4px}.ad-sponsor-text{font-size:13px;color:#555}.ad-sponsor-text strong{color:#333;transition:color .2s}.join-sheet-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#00000073;display:flex;align-items:flex-end;justify-content:center;animation:join-fade .18s ease-out}.join-sheet{width:100%;max-width:480px;background:#fff;border-radius:16px 16px 0 0;padding:18px 16px calc(16px + env(safe-area-inset-bottom));box-sizing:border-box;animation:join-slide .2s ease-out}.join-sheet .js-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.join-sheet .js-head h3{margin:0;font-size:17px;font-weight:600;color:#1a1a1a}.join-sheet .js-head .js-close{font-size:16px;color:#868e96;background:none;border:none;padding:4px;cursor:pointer;line-height:1}.join-sheet .js-insurance{background:#fff8e1;border:1px solid #ffe082;border-radius:10px;padding:12px;margin-bottom:14px}.join-sheet .js-insurance .js-insurance-title{font-size:14px;font-weight:600;color:#8d6e00;margin-bottom:6px}.join-sheet .js-insurance p{margin:0;font-size:12.5px;line-height:1.65;color:#6d5c00}.join-sheet .js-insurance .js-insurance-sub{margin-top:6px;color:#9e8b3d;font-size:12px}.join-sheet .js-label{display:block;font-size:13px;color:#495057;margin-bottom:6px}.join-sheet .js-input{width:100%;box-sizing:border-box;font-size:16px;padding:10px 12px;border:1px solid #dee2e6;border-radius:6px;outline:none;color:#1a1a1a}.join-sheet .js-input:focus{border-color:#40916c}.join-sheet .js-input::placeholder{color:#adb5bd}.join-sheet .js-actions{display:flex;gap:10px;margin-top:16px}.join-sheet .js-actions button{flex:1;padding:12px 0;font-size:15px;font-weight:600;border-radius:24px;cursor:pointer;border:none}.join-sheet .js-actions button:disabled{opacity:.6;cursor:not-allowed}.join-sheet .js-actions .js-cancel{background:#f1f3f5;color:#495057}.join-sheet .js-actions .js-submit{background:#2d6a4f;color:#fff}@keyframes join-fade{0%{opacity:0}to{opacity:1}}@keyframes join-slide{0%{transform:translateY(100%)}to{transform:translateY(0)}}.field-hint{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:5px;border-radius:50%;background:#c8c9cc;color:#fff;font-size:10px;font-weight:600;line-height:1;font-style:normal;cursor:help;vertical-align:1px;-webkit-user-select:none;user-select:none;outline:none;flex-shrink:0;transition:background .15s}.field-hint:hover,.field-hint.active{background:#2e7d32}.field-hint-bubble{position:fixed;transform:translateY(calc(-100% - 10px));z-index:9999;min-width:140px;max-width:230px;width:max-content;padding:6px 10px;border-radius:6px;background:#000000c7;color:#fff;font-size:11px;font-weight:400;line-height:1.5;white-space:normal;text-align:left;pointer-events:none}.field-hint-bubble:after{content:"";position:absolute;top:100%;left:var(--arrow-x, 50%);transform:translate(-50%);border:5px solid transparent;border-top-color:#000000c7}.activity-create{min-height:100vh;background:#f5f6f8;position:relative;padding-bottom:80px}.upgrade-guard{text-align:center;padding:80px 40px}.upgrade-guard .guard-icon{font-size:64px;margin-bottom:16px}.upgrade-guard h3{font-size:18px;font-weight:600;color:#1a1a1a;margin-bottom:8px}.upgrade-guard p{font-size:14px;color:#666;margin-bottom:32px;line-height:1.6}.upgrade-guard .btn-upgrade{width:100%;padding:14px;background:linear-gradient(135deg,#2e7d32,#66bb6a);color:#fff;border:none;border-radius:24px;font-size:15px;font-weight:600;margin-bottom:12px;cursor:pointer}.upgrade-guard .btn-upgrade:active{opacity:.9}.upgrade-guard .btn-back{background:transparent;border:none;color:#999;font-size:14px;cursor:pointer;padding:8px}.ac-form{padding:12px 16px 0}.form-section{background:#fff;border-radius:10px;padding:14px 14px 10px;margin-bottom:12px}.form-section-title{font-size:14px;font-weight:600;color:#2e7d32;margin-bottom:12px}.form-item{margin-bottom:12px}.form-item.half{flex:1}.form-row{display:flex;gap:12px}.form-label{display:block;font-size:12px;color:#616161;margin-bottom:6px}.form-label .req{color:#ef4444;margin-left:2px}.form-input{width:100%;padding:9px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;background:#fafafa;transition:all .15s}.form-input:focus{border-color:#2e7d32;background:#fff}.form-textarea{width:100%;padding:9px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit;background:#fafafa;resize:vertical;transition:all .15s}.form-textarea:focus{border-color:#2e7d32;background:#fff}.chip-row{display:flex;gap:6px;flex-wrap:wrap}.chip{padding:5px 12px;font-size:12px;color:#616161;border-radius:14px;background:#f5f6f8;display:inline-flex;align-items:center;gap:3px;transition:all .15s}.chip .chip-ico{font-size:13px}.chip.active{background:#e8f5e9;color:#2e7d32;font-weight:500}.form-notice{background:#fff8e1;border-radius:8px;padding:10px 12px;font-size:12px;color:#b45309;line-height:1.6}.cover-upload{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:120px;border:2px dashed #d0d0d0;border-radius:10px;background:#fafafa;color:#616161;font-size:14px;cursor:pointer;transition:all .15s}.cover-upload:hover:not(:disabled){border-color:#2e7d32;background:#e8f5e9;color:#2e7d32}.cover-upload:disabled{opacity:.6;cursor:not-allowed}.cover-preview{position:relative;border-radius:10px;overflow:hidden;background:#000}.cover-preview img{width:100%;height:160px;object-fit:cover;display:block}.cover-preview .cover-remove{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:50%;border:none;background:#0000008c;color:#fff;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center}.cover-preview .cover-remove:hover{background:#ef4444e6}.recap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.recap-thumb{position:relative;border-radius:8px;overflow:hidden;background:#000;aspect-ratio:1}.recap-thumb img{width:100%;height:100%;object-fit:cover;display:block}.recap-thumb .recap-thumb-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:none;background:#0000008c;color:#fff;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center}.recap-thumb .recap-thumb-remove:hover{background:#ef4444e6}.recap-add{aspect-ratio:1;border:1px dashed #c0c4cc;border-radius:8px;background:#fafafa;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#8a8f99}.recap-add:hover:not(:disabled){border-color:#1677ff;color:#1677ff}.recap-add:disabled{cursor:not-allowed;opacity:.6}.recap-add .recap-add-icon{font-size:22px;line-height:1}.recap-add .recap-add-text{font-size:12px}.submit-bar{position:absolute;bottom:0;left:0;right:0;padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom));z-index:2000}.submit-bar .btn-primary{width:100%;padding:12px;font-size:15px;font-weight:600;border-radius:24px}.submit-bar .btn-primary:disabled{opacity:.6}.date-mode-tabs{display:flex;gap:8px;margin-bottom:12px}.date-mode-tab{flex:1;padding:8px 0;border-radius:8px;border:1px solid #e0e0e0;background:#fff;color:#555;font-size:13px;cursor:pointer}.date-mode-tab.active{border-color:#2e7d32;background:#e8f5e9;color:#2e7d32;font-weight:600}.weekday-chips{display:flex;flex-wrap:wrap;gap:6px}.weekday-chip{padding:5px 10px;border-radius:14px;border:1px solid #e0e0e0;background:#fff;font-size:12px;color:#555;cursor:pointer}.weekday-chip.active{background:#2e7d32;border-color:#2e7d32;color:#fff}.date-preview{background:#f7f8fa;border-radius:8px;padding:10px 12px;margin-bottom:12px}.date-preview-head{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#333;margin-bottom:8px}.date-preview-head b{color:#2e7d32}.date-preview-warn{color:#d46b08;font-size:12px}.date-preview-chips{display:flex;flex-wrap:wrap;gap:6px;max-height:120px;overflow:auto;margin-bottom:6px}.date-preview-chip{font-size:12px;padding:3px 8px;border-radius:10px;background:#e8f5e9;color:#2e7d32}.date-preview-hint{font-size:11px;color:#999}.gpx-upload-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.gpx-upload-row .gpx-upload-btn{border:1px solid #2d8a3e;border-radius:999px;background:#f2faf3;color:#2d8a3e;font-size:13px;padding:8px 16px;cursor:pointer}.gpx-upload-row .gpx-upload-btn:disabled{opacity:.6}.gpx-upload-row .gpx-parsed{font-size:12px;color:#2d8a3e}/*!
* Quill Editor v2.0.3
* https://quilljs.com
* Copyright (c) 2017-2024, Slab
* Copyright (c) 2014, Jason Chen
* Copyright (c) 2013, salesforce.com
*/.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:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.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;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;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 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}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui: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 li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.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-ui{position:absolute}.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 .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{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-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.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:0}.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:0;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}.copy-source{background:#f7f8fa;border-radius:8px;padding:10px 12px;margin-bottom:14px}.copy-source-title{font-size:14px;font-weight:600;color:#212121;margin-bottom:4px}.copy-source-meta{font-size:12px;color:#777}.copy-modes{display:flex;gap:8px;margin-bottom:14px}.copy-mode-tab{flex:1;padding:8px 0;border-radius:8px;border:1px solid #e0e0e0;background:#fff;color:#555;font-size:13px;cursor:pointer}.copy-mode-tab.active{border-color:#2e7d32;color:#2e7d32;background:#e8f5e9;font-weight:600}.copy-weekdays{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.copy-weekday{padding:5px 10px;border-radius:14px;border:1px solid #e0e0e0;background:#fff;font-size:12px;color:#555;cursor:pointer}.copy-weekday.active{background:#2e7d32;border-color:#2e7d32;color:#fff}.copy-range{display:flex;align-items:center;gap:8px;margin-bottom:12px}.copy-range .copy-range-sep{font-size:12px;color:#999}.copy-preview-head{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#333;margin:12px 0 8px}.copy-preview-head b{color:#2e7d32}.copy-warn{color:#d46b08;font-size:12px}.copy-date-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;max-height:130px;overflow:auto}.copy-date-chip{font-size:12px;padding:3px 8px;border-radius:10px;background:#e8f5e9;color:#2e7d32}.copy-date-chip.editable{cursor:pointer}.copy-date-chip.editable:hover{background:#ffccc7;color:#cf1322}.copy-error{margin-top:10px;font-size:12px;color:#cf1322;background:#fff1f0;padding:6px 10px;border-radius:6px}.copy-result-line{font-size:14px;margin-bottom:10px}.copy-result-line .fail{color:#cf1322}.copy-failed{margin-top:10px;font-size:12px;color:#cf1322}.copy-hint{margin-top:14px;font-size:12px;color:#999}.slider-captcha{-webkit-user-select:none;user-select:none}.slider-captcha.shake{animation:sc-shake .45s cubic-bezier(.36,.07,.19,.97)}.slider-captcha .sc-img-wrap{position:relative;width:100%;aspect-ratio:2/1;border-radius:12px;overflow:hidden;background:#dfe5e2;box-shadow:inset 0 0 0 1px #0000000f,0 2px 8px #00000014}.slider-captcha .sc-img-wrap .sc-bg{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.slider-captcha .sc-img-wrap .sc-piece{position:absolute;pointer-events:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.45));transition:filter .15s}.slider-captcha.shake .slider-captcha .sc-img-wrap .sc-piece{filter:drop-shadow(0 0 6px rgba(229,57,53,.9))}.slider-captcha .sc-img-wrap .sc-mask{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:13px;letter-spacing:.5px;color:#fff;background:#00000052;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.slider-captcha .sc-img-wrap .sc-mask.success{background:#2e7d3273;font-weight:600;animation:sc-fade-in .25s ease-out}.slider-captcha .sc-img-wrap .sc-mask.fail{background:#c6282873;font-weight:600}.slider-captcha .sc-img-wrap .sc-refresh{position:absolute;top:8px;right:8px;width:28px;height:28px;padding:0;border:none;border-radius:50%;background:#00000057;color:#fff;font-size:15px;line-height:1;cursor:pointer;z-index:3;transition:background .2s,transform .3s}.slider-captcha .sc-img-wrap .sc-refresh span{display:block;transform:translateY(-1px)}.slider-captcha .sc-img-wrap .sc-refresh:hover{background:#0000008c;transform:rotate(90deg)}.slider-captcha .sc-img-wrap .sc-badge{position:absolute;left:10px;bottom:10px;padding:3px 9px;border-radius:999px;font-size:11px;letter-spacing:.3px;color:#fff;background:#00000052;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:3}.slider-captcha .sc-img-wrap .sc-badge.success{background:#2e7d32d9}.slider-captcha .sc-track{position:relative;height:56px;margin-top:10px;border-radius:28px;background:linear-gradient(180deg,#f7f8fa,#eef0f3);box-shadow:inset 0 1px 3px #00000017,0 1px #ffffffe6;overflow:hidden}.slider-captcha .sc-track .sc-progress{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#2e7d320f,#4caf5038);pointer-events:none}.slider-captcha .sc-track .sc-tip{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:12px;letter-spacing:.6px;color:#9aa0a6;pointer-events:none;transition:opacity .2s}.slider-captcha .sc-track .sc-tip.hidden{opacity:0}.slider-captcha .sc-track .sc-btn{position:absolute;top:0;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;z-index:2;filter:drop-shadow(0 2px 4px rgba(46,125,50,.45));transition:filter .2s,opacity .2s}.slider-captcha .sc-track .sc-btn .sc-knob{display:block;width:100%;height:100%}.slider-captcha .sc-track .sc-btn.dragging{cursor:grabbing;filter:drop-shadow(0 3px 7px rgba(46,125,50,.55))}.slider-captcha .sc-track .sc-btn.success{filter:drop-shadow(0 2px 5px rgba(67,160,71,.55)) brightness(1.06)}.slider-captcha .sc-track .sc-btn.verifying,.slider-captcha .sc-track .sc-btn.loading{opacity:.7;cursor:default}@keyframes sc-shake{0%,to{transform:translate(0)}15%{transform:translate(-7px)}35%{transform:translate(7px)}55%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes sc-fade-in{0%{opacity:0}to{opacity:1}}.login-page{min-height:100vh;background:linear-gradient(180deg,#2e7d32,#1b5e20);padding:40px 24px;color:#fff;position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:-40px;right:-60px;width:250px;height:300px;background:url(/hiking/hikingbaby-logo.png) no-repeat center/contain;opacity:.12;transform:rotate(12deg);pointer-events:none}.login-page .login-header,.login-page .login-tabs,.login-page .login-form{position:relative;z-index:1}.login-page .back-btn{position:absolute;top:14px;left:10px;display:inline-flex;align-items:center;gap:2px;padding:6px 10px;font-size:14px;color:#fff;background:#ffffff2e;border:none;border-radius:20px;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .15s ease}.login-page .back-btn:hover{background:#ffffff4d}.login-page .back-btn:active{transform:scale(.97)}.login-page .login-header{text-align:center;margin-bottom:22px;padding-top:16px}.login-page .login-header h1{font-size:24px;font-weight:700;margin-bottom:4px}.login-page .login-header p{font-size:13px;opacity:.85}.login-form{background:#fff;border-radius:14px;padding:24px 20px;color:#212121}.login-form .form-item{display:flex;flex-direction:column;margin-bottom:16px}.login-form .form-item span{font-size:13px;color:#616161;margin-bottom:6px}.login-form .form-item input{background:#f5f6f8;border-radius:8px;padding:10px 12px;font-size:14px}.login-form .form-item .pwd-wrap{position:relative;display:flex;align-items:center}.login-form .form-item .pwd-wrap input{flex:1;padding-right:40px}.login-form .form-item .pwd-wrap .pwd-toggle{position:absolute;right:8px;width:28px;height:28px;border:none;background:transparent;color:#9e9e9e;display:flex;align-items:center;justify-content:center;cursor:pointer}.login-form .form-item .pwd-wrap .pwd-toggle:active{color:#2e7d32}.login-form .form-error{color:#e53935;font-size:12px;margin-bottom:10px}.login-form .btn-primary{padding:12px;font-size:15px;border-radius:22px}.login-form .form-footer{text-align:center;font-size:13px;color:#9e9e9e;margin-top:16px}.login-form .form-footer a{color:#2e7d32;margin-left:4px}.login-form .form-footer.sms-tip{color:#b0b0b0}.login-form .link-btn{background:none;border:none;padding:0;color:#2e7d32;font-size:13px;cursor:pointer}.login-form .link-btn.forgot-link{float:right;color:#9e9e9e}.login-form .link-btn.forgot-link:hover{color:#2e7d32}.login-form .reset-title{font-size:17px;font-weight:600;color:#333;text-align:center;margin-bottom:14px}.login-form .reset-done{text-align:center;padding:24px 0}.login-form .reset-done .reset-done-icon{font-size:40px;margin-bottom:8px}.login-form .reset-done p{color:#333;font-size:15px;margin-bottom:16px}.login-tabs{display:flex;gap:4px;background:#ffffff2e;border-radius:999px;padding:4px;margin:0 auto 20px;max-width:280px}.login-tabs .login-tab{flex:1;background:none;border:none;border-radius:999px;font-size:14px;color:#ffffffd9;padding:8px 0;cursor:pointer;text-align:center;transition:background .2s,color .2s}.login-tabs .login-tab.active{background:#fff;color:#2e7d32;font-weight:600;box-shadow:0 2px 6px #00000026}.sms-code-row{display:flex;gap:10px}.sms-code-row input{flex:1;min-width:0}.sms-code-row .sms-code-btn{flex-shrink:0;border:1px solid #2e7d32;border-radius:10px;background:#f2faf3;color:#2e7d32;font-size:13px;padding:0 14px;cursor:pointer;white-space:nowrap}.sms-code-row .sms-code-btn:disabled{opacity:.5;border-color:#ccc;background:#f5f5f5;color:#999}.register-page{min-height:100vh;background:linear-gradient(180deg,#66bb6a,#2e7d32);padding:40px 24px;color:#fff;position:relative;overflow:hidden}.register-page:before{content:"";position:absolute;top:-40px;right:-60px;width:250px;height:300px;background:url(/hiking/hikingbaby-logo.png) no-repeat center/contain;opacity:.12;transform:rotate(12deg);pointer-events:none}.register-page .reg-header,.register-page .reg-form{position:relative;z-index:1}.register-page .back-btn{position:absolute;top:14px;left:10px;display:inline-flex;align-items:center;gap:2px;padding:6px 10px;font-size:14px;color:#fff;background:#ffffff2e;border:none;border-radius:20px;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .15s ease}.register-page .back-btn:hover{background:#ffffff4d}.register-page .back-btn:active{transform:scale(.97)}.register-page .reg-header{text-align:center;margin-bottom:20px;padding-top:12px}.register-page .reg-header h1{font-size:22px;font-weight:700;margin-bottom:4px}.register-page .reg-header p{font-size:13px;opacity:.85}.reg-form{background:#fff;border-radius:14px;padding:20px;color:#212121}.reg-form .form-item{display:flex;flex-direction:column;margin-bottom:14px}.reg-form .form-item>span{font-size:13px;color:#616161;margin-bottom:6px}.reg-form .form-item>span .required-mark{color:#e53935;font-weight:700;margin-left:2px}.reg-form .form-item input{background:#f5f6f8;border-radius:8px;padding:10px 12px;font-size:14px}.reg-form .form-item .check-hint{font-size:14px;line-height:1.5;margin-top:4px;padding:2px 0}.reg-form .form-item .check-hint.check-available{color:#52c41a}.reg-form .form-item .check-hint.check-taken,.reg-form .form-item .check-hint.check-invalid{color:#e53935}.reg-form .form-item .check-hint.check-checking{color:#999}.reg-form .form-item .check-hint .check-icon{font-size:10px;margin-right:2px;vertical-align:middle}.reg-form .form-error{color:#e53935;font-size:12px;margin-bottom:10px}.reg-form .agree-row{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#757575;margin-bottom:14px;cursor:pointer;line-height:1.6}.reg-form .agree-row input[type=checkbox]{width:16px;height:16px;margin-top:1px;flex-shrink:0;accent-color:#2e7d32}.reg-form .agree-row a{color:#2e7d32;font-weight:500}.reg-form .btn-primary{padding:11px;font-size:15px;border-radius:22px}.reg-form .form-footer{text-align:center;font-size:13px;color:#9e9e9e;margin-top:14px}.reg-form .form-footer a{color:#2e7d32;margin-left:4px}.agreement-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.agreement-overlay .agreement-dialog{background:#fff;border-radius:14px;width:100%;max-width:420px;max-height:80vh;display:flex;flex-direction:column;padding:18px}.agreement-overlay .agreement-dialog h3{font-size:16px;text-align:center;margin-bottom:12px;color:#212121}.agreement-overlay .agreement-dialog .agreement-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;font-size:12px;color:#555;line-height:1.8;padding-right:4px;margin-bottom:14px}.agreement-overlay .agreement-dialog .agreement-body h4{font-size:13px;color:#2e7d32;margin:10px 0 4px}.agreement-overlay .agreement-dialog .agreement-body p{margin-bottom:6px}.agreement-overlay .agreement-dialog .agreement-hint{text-align:center;font-size:12px;color:#ff9800;margin-bottom:8px;min-height:18px}.agreement-overlay .agreement-dialog .btn-primary{padding:10px;font-size:14px;border-radius:20px;flex-shrink:0}.agreement-overlay .agreement-dialog .btn-primary:disabled{opacity:.5;cursor:not-allowed}.captcha-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.captcha-modal{background:#fff;border-radius:14px;padding:16px 16px 20px;width:100%;max-width:400px;color:#212121;box-shadow:0 12px 40px #00000040}.captcha-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.captcha-modal-head span{font-size:15px;font-weight:600}.captcha-modal-head .captcha-modal-close{background:none;border:none;font-size:22px;line-height:1;color:#9e9e9e;cursor:pointer;padding:0 4px}.captcha-modal-head .captcha-modal-close:hover{color:#616161}.agree-row,.agree-row input[type=checkbox]{cursor:pointer}.agree-row .agree-tip{font-style:normal;font-size:12px;color:#9e9e9e;margin-left:4px}.member-page{min-height:100vh;background:#f5f6f8;padding-bottom:80px}.member-banner{background:linear-gradient(135deg,#ff9800,#ff5722);color:#fff;padding:28px 20px 32px}.member-banner .tagline{font-size:13px;opacity:.9;margin-bottom:6px}.member-banner h1{font-size:22px;font-weight:700;margin-bottom:4px}.member-banner .sub{font-size:12px;opacity:.85}.plans-section{padding:16px}.plans-section h2{font-size:16px;font-weight:600;margin-bottom:12px}.billing-toggle{display:flex;gap:8px;margin-bottom:14px}.billing-toggle .billing-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 0;border-radius:20px;border:1px solid #d9d9d9;background:#fff;font-size:13px;color:#616161;cursor:pointer}.billing-toggle .billing-btn.active{border-color:#2e7d32;background:#2e7d3214;color:#2e7d32;font-weight:600}.billing-toggle .billing-btn .billing-badge{font-size:10px;font-weight:400;color:#fff;background:#ff7043;border-radius:8px;padding:1px 6px;white-space:nowrap}.plan-price .price-hint{font-size:11px;color:#9e9e9e;margin-left:6px}.plan-card{position:relative;background:#fff;border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:0 1px 4px #0000000f;border:2px solid transparent;cursor:pointer}.plan-card.selected{border-color:#2e7d32;background:#f1f8e9}.plan-card.free-plan{opacity:.85}.plan-card.current-plan{cursor:not-allowed;border-color:#ffd54f;background:#fffdf3;opacity:.92}.plan-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.plan-head h3{font-size:16px;font-weight:600;color:#212121;display:flex;align-items:center;gap:8px}.plan-head h3 .current-badge{font-size:11px;font-weight:500;color:#5d4037;background:#ffd54f;padding:2px 8px;border-radius:10px}.plan-head .plan-price{color:#ff5722}.plan-head .plan-price .currency{font-size:13px}.plan-head .plan-price .amount{font-size:24px;font-weight:700}.plan-head .plan-price .unit{font-size:12px;color:#9e9e9e;margin-left:2px}.plan-head .plan-price .free{color:#2e7d32;font-weight:600}.plan-benefits{font-size:13px;color:#424242;line-height:1.9}.plan-benefits li{padding-left:2px}.plan-desc{font-size:12px;color:#9e9e9e;margin-top:8px}.plan-check{position:absolute;top:10px;right:10px;height:22px;padding:0 8px;background:#2e7d32;color:#fff;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}.plan-current-tag{position:absolute;top:10px;right:10px;background:#ffd54f;color:#5d4037;font-size:11px;font-weight:600;padding:3px 10px;border-radius:10px}.current-member-card{margin:12px;padding:14px 16px;border-radius:12px;display:flex;align-items:center}.current-member-card.active{background:linear-gradient(135deg,#fff8e1,#ffecb3);border:1px solid #ffd54f}.current-member-card.expired{background:#f5f5f5;border:1px solid #e0e0e0}.current-member-card .cmc-left{display:flex;align-items:center;gap:12px}.current-member-card .cmc-icon{font-size:28px}.current-member-card .cmc-info .cmc-title{font-size:15px;font-weight:600;color:#212121;display:flex;align-items:center;gap:8px}.current-member-card .cmc-info .cmc-meta{font-size:12px;color:#616161;margin-top:2px}.current-member-card .cmc-info .cmc-status{font-size:11px;font-weight:600;padding:1px 8px;border-radius:8px}.current-member-card .cmc-info .cmc-status.active{background:#43a047;color:#fff}.current-member-card .cmc-info .cmc-status.expired{background:#9e9e9e;color:#fff}.loading{text-align:center;color:#9e9e9e;padding:40px}.purchase-bar{position:fixed;bottom:56px;left:0;right:0;max-width:480px;margin:0 auto;padding:10px 16px;background:#fff;border-top:1px solid #eee;z-index:50}.orders-entry{display:flex;align-items:center;gap:10px;margin:0 12px 8px;padding:12px 14px;background:#fff;border-radius:12px;cursor:pointer}.orders-entry .oe-icon{font-size:20px}.orders-entry .oe-text{flex:1;min-width:0}.orders-entry .oe-title{font-size:14px;font-weight:600;color:#212121}.orders-entry .oe-desc{font-size:11px;color:#9e9e9e;margin-top:2px}.orders-entry .oe-arrow{color:#bdbdbd;font-size:18px}.my-promos-list{margin:0 12px 10px;padding:10px;background:linear-gradient(135deg,#fff8e1,#fff3e0);border-radius:12px;border:1px dashed #ffcc80}.my-promos-list .mpl-empty{text-align:center;font-size:12px;color:#999;padding:12px 0}.my-promos-list .mpl-card{display:flex;gap:12px;padding:10px;background:#fff;border-radius:10px;margin-bottom:8px;border-left:3px solid #ff9800}.my-promos-list .mpl-card:last-child{margin-bottom:0}.my-promos-list .mpl-left{flex-shrink:0;width:80px;text-align:center;border-right:1px dashed #eee;padding-right:10px}.my-promos-list .mpl-value{font-size:20px;font-weight:700;color:#ff5722;line-height:1}.my-promos-list .mpl-value .mpl-symbol{font-size:12px;margin-right:2px}.my-promos-list .mpl-desc{font-size:10px;color:#ff9800;margin-top:4px}.my-promos-list .mpl-right{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.my-promos-list .mpl-code{font-size:11px;color:#666}.my-promos-list .mpl-code code{background:#f5f5f5;padding:1px 6px;border-radius:4px;font-family:monospace;color:#333}.my-promos-list .mpl-meta{display:flex;gap:6px;font-size:10px;color:#999}.my-promos-list .mpl-tag.own{background:#e3f2fd;color:#1976d2;padding:1px 6px;border-radius:4px;font-weight:500}.my-promos-list .mpl-exp{color:#999}.my-promos-list .mpl-use-btn{align-self:flex-end;margin-top:4px;padding:4px 12px;font-size:11px;background:linear-gradient(135deg,#ff9800,#ff5722);color:#fff;border:none;border-radius:14px;cursor:pointer;font-weight:500}.my-promos-list .mpl-use-btn:disabled{background:#ccc;cursor:not-allowed}.orders-section{padding:0 12px 8px}.orders-section h2{font-size:15px;color:#212121;margin:8px 0 10px}.order-card{display:flex;align-items:center;flex-wrap:wrap;gap:10px;background:#fff;border-radius:12px;padding:12px 14px;margin-bottom:8px}.order-card .order-main{flex:1;min-width:0}.order-card .order-title-row{display:flex;align-items:center;justify-content:space-between}.order-card .order-plan{font-size:14px;font-weight:600;color:#212121}.order-card .order-status{font-size:11px;padding:1px 8px;border-radius:999px}.order-card .order-status.od-pay{background:#fff7e6;color:#d46b08}.order-card .order-status.od-ok{background:#e8f5e9;color:#2d8a3e}.order-card .order-status.od-reject{background:#fdecec;color:#cf1322}.order-card .order-status.od-cancel{background:#f5f5f5;color:#8c8c8c}.order-card .order-sub{margin-top:4px;display:flex;gap:10px;align-items:baseline}.order-card .order-amount{font-size:16px;font-weight:700;color:#e53935}.order-card .order-no{font-size:11px;color:#9e9e9e}.order-card .order-reject{margin:4px 0 0;font-size:11px;color:#cf1322}.order-card .order-pay-btn{flex-shrink:0;border:none;border-radius:999px;background:#2d8a3e;color:#fff;font-size:12px;padding:7px 14px;cursor:pointer}.order-card .order-proof{flex-shrink:0;width:44px;height:44px;object-fit:cover;border-radius:8px;cursor:pointer}.order-card .order-actions{width:100%;display:flex;justify-content:flex-end;gap:8px;padding-top:8px;border-top:1px dashed #eee}.order-card .order-link-btn{border:none;background:transparent;color:#2d8a3e;font-size:12px;padding:4px 6px;cursor:pointer}.order-card .order-link-btn.order-link-warn{color:#d46b08}.order-card .order-link-btn.order-link-danger{color:#cf1322}.order-card .order-detail{width:100%;margin-top:8px;padding:10px 12px;border-radius:10px;background:#f7f8f7}.order-card .od-row{display:flex;justify-content:space-between;gap:12px;font-size:12px;line-height:1.9}.order-card .od-row span{color:#8a8a8a;flex-shrink:0}.order-card .od-row b{color:#333;font-weight:600;text-align:right;word-break:break-all}.order-card .od-row .od-danger{color:#cf1322}.order-card .od-proof{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#8a8a8a;margin-top:4px}.order-card .od-proof img{width:64px;height:64px;object-fit:cover;border-radius:8px;cursor:pointer}.pay-modal .pay-summary{display:flex;align-items:center;justify-content:space-between;background:#f7faf8;border-radius:10px;padding:10px 12px;font-size:13px;color:#424242}.pay-modal .pay-amount{color:#e53935;font-size:20px}.pay-modal .pay-qrcode-box{display:flex;justify-content:center;margin:14px 0 10px}.pay-modal .pay-qrcode-box img{width:180px;height:180px;object-fit:contain;border:1px solid #eee;border-radius:10px;padding:6px;background:#fff}.pay-modal .pay-qrcode-box .pay-qr-empty{width:180px;height:180px;border:1px dashed #bdbdbd;border-radius:10px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;color:#9e9e9e;line-height:1.8}.pay-modal .pay-steps{font-size:12px;color:#616161;line-height:1.9;background:#fff8e1;border-radius:8px;padding:8px 12px;margin:0 0 12px}.pay-modal .pay-order-no{margin:10px 0 0;text-align:center;font-size:11px;color:#9e9e9e}.plan-price .price-original{font-size:13px;color:#b0b0b0;text-decoration:line-through;margin-left:6px}.promo-section{margin:12px 16px 0;background:#fff;border-radius:14px;padding:12px 14px;box-shadow:0 1px 4px #0000000a}.promo-section .promo-input-row{display:flex;gap:10px;align-items:center}.promo-section .promo-input{flex:1;border:1px solid #e0e0e0;border-radius:10px;padding:10px 12px;font-size:14px;outline:none;letter-spacing:.5px}.promo-section .promo-input:focus{border-color:#1677ff}.promo-section .promo-apply-btn{flex-shrink:0;border:none;border-radius:10px;padding:10px 18px;font-size:14px;color:#fff;background:linear-gradient(135deg,#1677ff,#4096ff);cursor:pointer}.promo-section .promo-apply-btn:disabled{opacity:.5;cursor:not-allowed}.promo-section .promo-applied{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.promo-section .promo-applied .promo-tag{font-size:13px;font-weight:600;color:#d4380d;background:#fff2e8;border:1px solid #ffbb96;border-radius:8px;padding:3px 8px}.promo-section .promo-applied .promo-discount{font-size:12px;color:#d4380d}.promo-section .promo-applied .promo-final{margin-left:auto;font-size:13px;color:#1a1a1a}.promo-section .promo-applied .promo-final b{color:#d4380d;font-size:16px;margin:0 2px}.promo-section .promo-applied .promo-final s{color:#b0b0b0;font-size:12px}.promo-section .promo-applied .promo-remove{border:none;background:none;color:#999;font-size:14px;cursor:pointer;padding:2px 4px}.order-promo{margin:4px 0 0;font-size:12px;color:#d4380d}.pay-promo{margin:0 0 10px;font-size:12px;color:#d4380d;text-align:center}.orders-page{min-height:100vh;background:#f5f6f5;padding-bottom:24px}.orders-page .orders-empty{padding:80px 20px;text-align:center;color:#8a8a8a;font-size:13px}.orders-page .orders-empty .empty-icon{font-size:40px;margin-bottom:8px}.orders-page .orders-empty p{margin:0 0 14px}.orders-page .orders-login-btn{border:none;border-radius:999px;background:linear-gradient(135deg,#2e7d32,#66bb6a);color:#fff;font-size:13px;padding:8px 22px;cursor:pointer}.orders-page .orders-section{padding:8px 12px 0}.orders-page .order-card{display:flex;align-items:center;flex-wrap:wrap;gap:10px;background:#fff;border-radius:12px;padding:12px 14px;margin-bottom:8px}.orders-page .order-card .order-main{flex:1;min-width:0}.orders-page .order-card .order-title-row{display:flex;align-items:center;justify-content:space-between}.orders-page .order-card .order-plan{font-size:14px;font-weight:600;color:#212121}.orders-page .order-card .order-status{font-size:11px;padding:1px 8px;border-radius:999px}.orders-page .order-card .order-status.od-pay{background:#fff7e6;color:#d46b08}.orders-page .order-card .order-status.od-ok{background:#e8f5e9;color:#2d8a3e}.orders-page .order-card .order-status.od-reject{background:#fdecec;color:#cf1322}.orders-page .order-card .order-status.od-cancel{background:#f5f5f5;color:#8c8c8c}.orders-page .order-card .order-sub{margin-top:4px;display:flex;gap:10px;align-items:baseline}.orders-page .order-card .order-amount{font-size:16px;font-weight:700;color:#e53935}.orders-page .order-card .order-no{font-size:11px;color:#9e9e9e}.orders-page .order-card .order-promo{margin:4px 0 0;font-size:11px;color:#2d8a3e}.orders-page .order-card .order-reject{margin:4px 0 0;font-size:11px;color:#cf1322}.orders-page .order-card .order-pay-btn{flex-shrink:0;border:none;border-radius:999px;background:#2d8a3e;color:#fff;font-size:12px;padding:7px 14px;cursor:pointer}.orders-page .order-card .order-proof{flex-shrink:0;width:44px;height:44px;object-fit:cover;border-radius:8px;cursor:pointer}.orders-page .order-card .order-actions{width:100%;display:flex;justify-content:flex-end;gap:8px;padding-top:8px;border-top:1px dashed #eee}.orders-page .order-card .order-link-btn{border:none;background:transparent;color:#2d8a3e;font-size:12px;padding:4px 6px;cursor:pointer}.orders-page .order-card .order-link-btn.order-link-warn{color:#d46b08}.orders-page .order-card .order-link-btn.order-link-danger{color:#cf1322}.orders-page .order-card .order-detail{width:100%;margin-top:8px;padding:10px 12px;border-radius:10px;background:#f7f8f7}.orders-page .order-card .od-row{display:flex;justify-content:space-between;gap:12px;font-size:12px;line-height:1.9}.orders-page .order-card .od-row span{color:#8a8a8a;flex-shrink:0}.orders-page .order-card .od-row b{color:#333;font-weight:600;text-align:right;word-break:break-all}.orders-page .order-card .od-row .od-danger{color:#cf1322}.orders-page .order-card .od-proof{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#8a8a8a;margin-top:4px}.orders-page .order-card .od-proof img{width:64px;height:64px;object-fit:cover;border-radius:8px;cursor:pointer}.orders-page .pay-modal .pay-summary{display:flex;align-items:center;justify-content:space-between;background:#f7faf8;border-radius:10px;padding:10px 12px;font-size:13px;color:#424242}.orders-page .pay-modal .pay-amount{color:#e53935;font-size:20px;cursor:pointer;-webkit-user-select:none;user-select:none}.orders-page .pay-modal .pay-amount:active{opacity:.7}.orders-page .pay-modal .pay-tabs{display:flex;gap:8px;margin:10px 0 6px}.orders-page .pay-modal .pay-tab{flex:1;padding:8px 0;border:1px solid #e0e0e0;border-radius:8px;background:#fafafa;font-size:13px;font-weight:600;color:#616161;cursor:pointer;transition:all .15s}.orders-page .pay-modal .pay-tab.active{border-color:#2d8a3e;background:#e8f5e9;color:#2d8a3e}.orders-page .pay-modal .pay-qrcode-box{display:flex;flex-direction:column;align-items:center;gap:8px;margin:14px 0 10px}.orders-page .pay-modal .pay-qrcode-box img{width:220px;height:220px;object-fit:contain;border:1px solid #eee;border-radius:10px;padding:6px;background:#fff;cursor:zoom-in}.orders-page .pay-modal .pay-qrcode-box .pay-qr-tip{font-size:12px;color:#9e9e9e}.orders-page .pay-modal .pay-qrcode-box .pay-qr-actions{display:flex;gap:8px;margin-top:4px}.orders-page .pay-modal .pay-qrcode-box .pay-qr-btn{padding:6px 12px;border:1px solid #c8e6c9;border-radius:999px;background:#f1faf3;font-size:12px;color:#2d8a3e;cursor:pointer}.orders-page .pay-modal .pay-qrcode-box .pay-qr-btn:active{background:#e0f2e4}.orders-page .pay-modal .pay-qrcode-box .pay-wechat-tip{margin:4px 0 0;font-size:11px;color:#d46b08;background:#fff8e1;padding:6px 10px;border-radius:6px;line-height:1.5;text-align:center}.orders-page .pay-modal .pay-qrcode-box .pay-qr-empty{width:180px;height:180px;border:1px dashed #bdbdbd;border-radius:10px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;color:#9e9e9e;line-height:1.8}.orders-page .pay-modal .pay-aggregator{display:flex;flex-direction:column;align-items:center;gap:8px;margin:14px 0 10px}.orders-page .pay-modal .pay-aggregator .pay-qr-img{width:220px;height:220px;object-fit:contain;border:1px solid #eee;border-radius:10px;padding:6px;background:#fff;cursor:zoom-in}.orders-page .pay-modal .pay-aggregator .pay-qr-tip{font-size:13px;color:#424242}.orders-page .pay-modal .pay-aggregator .pay-qr-tip b{color:#e53935}.orders-page .pay-modal .pay-aggregator .pay-waiting{margin:8px 0 0;font-size:12px;color:#1976d2;display:flex;align-items:center;gap:6px}.orders-page .pay-modal .pay-aggregator .pay-spinner{width:12px;height:12px;border:2px solid #bbdefb;border-top-color:#1976d2;border-radius:50%;display:inline-block;animation:pay-spin .8s linear infinite}@keyframes pay-spin{to{transform:rotate(360deg)}}.orders-page .pay-modal .pay-steps{font-size:12px;color:#616161;line-height:1.9;background:#fff8e1;border-radius:8px;padding:8px 12px;margin:0 0 12px}.orders-page .pay-modal .pay-qq-tip{margin:0 0 10px;font-size:12px;color:#1976d2;background:#e3f2fd;border-radius:8px;padding:8px 12px;text-align:center;cursor:pointer}.orders-page .pay-modal .pay-qq-tip b{font-weight:600}.orders-page .pay-modal .pay-qq-tip:active{background:#bbdefb}.orders-page .pay-modal .pay-order-no{margin:10px 0 0;text-align:center;font-size:11px;color:#9e9e9e}.orders-page .pay-modal .pay-promo{margin:0 0 10px;font-size:12px;color:#d4380d;text-align:center}.pay-qr-zoom{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:#000000eb}.pay-qr-zoom img{width:min(80vw,320px);height:auto;max-height:70vh;object-fit:contain;background:#fff;border-radius:12px;padding:10px}.pay-qr-zoom p{margin:20px 0 0;font-size:13px;color:#fff;text-align:center}.basic-info-page{min-height:100vh;background:#f5f6f5;padding-bottom:24px}.basic-info-page .bi-empty{padding:90px 20px;text-align:center;color:#8a8a8a;font-size:13px}.basic-info-page .bi-empty p{margin:0 0 14px}.basic-info-page .bi-empty button{border:none;border-radius:999px;background:linear-gradient(135deg,#2e7d32,#66bb6a);color:#fff;font-size:13px;padding:8px 22px;cursor:pointer}.basic-info-page .bi-header-btn{border:none;cursor:pointer;font-size:13px;font-weight:600;padding:7px 14px;border-radius:999px;transition:transform .15s,box-shadow .15s;white-space:nowrap}.basic-info-page .bi-header-btn--edit{background:#fff;color:#2e7d32;box-shadow:0 2px 8px #0000002e}.basic-info-page .bi-header-btn--cancel{background:#ffffff29;color:#fff;border:1px solid rgba(255,255,255,.7)}.basic-info-page .bi-header-btn:active{transform:scale(.95)}.basic-info-page .bi-hero{display:flex;align-items:center;gap:14px;margin:10px 12px;padding:18px 16px;border-radius:14px;background:linear-gradient(135deg,#2e7d32,#66bb6a);color:#fff;box-shadow:0 4px 14px #2e7d322e}.basic-info-page .bi-hero .bi-avatar{width:58px;height:58px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid rgba(255,255,255,.9);background:#fff}.basic-info-page .bi-hero .bi-avatar img{width:100%;height:100%;object-fit:cover;display:block}.basic-info-page .bi-hero .bi-hero-text{min-width:0}.basic-info-page .bi-hero .bi-hero-text h2{margin:0 0 4px;font-size:17px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.basic-info-page .bi-hero .bi-hero-text p{margin:0;font-size:12px;color:#ffffffd9;display:flex;align-items:center;gap:6px}.basic-info-page .bi-hero .bi-hero-text .bi-member-expire{margin-top:4px;font-size:11px;color:#ffffffbf}.basic-info-page .bi-hero .bi-type{font-size:10px;padding:1px 7px;border-radius:999px;background:#ffffff3d;color:#fff}.basic-info-page .bi-hero .bi-type.type-2{background:#1677ffd9}.basic-info-page .bi-hero .bi-type.type-3{background:#fa8c16e6}.basic-info-page .bi-hero .bi-type.type-4{background:#00c853e6}.basic-info-page .bi-card{background:#fff;margin:10px 12px;border-radius:12px;padding:14px 16px}.basic-info-page .bi-card .bi-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.basic-info-page .bi-card .bi-card-title{font-size:13px;font-weight:600;color:#212121;margin-bottom:0}.basic-info-page .bi-card .bi-inline-edit{border:none;background:#e8f5e9;color:#2e7d32;font-size:12px;font-weight:600;padding:5px 12px;border-radius:999px;cursor:pointer;transition:background .15s}.basic-info-page .bi-card .bi-inline-edit:hover{background:#d3ebd6}.basic-info-page .bi-card .bi-inline-edit:active{transform:scale(.96)}.basic-info-page .bi-card .bi-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;line-height:2.2;border-bottom:1px solid #f5f5f5}.basic-info-page .bi-card .bi-row:last-child{border-bottom:none}.basic-info-page .bi-card .bi-row span{color:#8a8a8a;flex-shrink:0}.basic-info-page .bi-card .bi-row b{color:#333;font-weight:500;text-align:right;word-break:break-all}.basic-info-page .bi-card .bi-form label{display:flex;align-items:center;gap:10px;padding:7px 0}.basic-info-page .bi-card .bi-form label>span{width:56px;font-size:13px;color:#8a8a8a;flex-shrink:0}.basic-info-page .bi-card .bi-form label input{flex:1;min-width:0;border:1px solid #e0e0e0;border-radius:8px;padding:9px 10px;font-size:13px;outline:none;color:#333}.basic-info-page .bi-card .bi-form label input:focus{border-color:#66bb6a}.basic-info-page .bi-card .bi-form label input:disabled{background:#f7f7f7;color:#9e9e9e}.basic-info-page .bi-card .bi-form .bi-tip{margin:8px 0 2px;font-size:11px;color:#9e9e9e}.basic-info-page .bi-note{margin:4px 16px 0;font-size:11px;color:#9e9e9e}.basic-info-page .bi-save-bar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid #f0f0f0;z-index:100}.basic-info-page .bi-save-bar .bi-save{width:100%;border:none;border-radius:22px;padding:12px;background:linear-gradient(135deg,#2e7d32,#66bb6a);color:#fff;font-size:15px;font-weight:600;cursor:pointer}.basic-info-page .bi-save-bar .bi-save:disabled{opacity:.6;cursor:not-allowed}.basic-info-page .bi-row--action{cursor:pointer}.basic-info-page .bi-row--action:active{background:#fafafa}.basic-info-page .pwd-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.basic-info-page .pwd-panel{width:100%;max-width:340px;background:#fff;border-radius:14px;padding:20px 18px 16px}.basic-info-page .pwd-panel .pwd-title{font-size:16px;font-weight:600;color:#333;text-align:center;margin-bottom:12px}.basic-info-page .pwd-panel .pwd-mode-switch{display:flex;gap:8px;margin-bottom:14px}.basic-info-page .pwd-panel .pwd-mode-switch .pwd-mode-btn{flex:1;border:1px solid #e0e0e0;background:#fafafa;color:#666;border-radius:8px;padding:8px;font-size:13px;cursor:pointer}.basic-info-page .pwd-panel .pwd-mode-switch .pwd-mode-btn.active{background:linear-gradient(135deg,#2e7d32,#66bb6a);color:#fff;border-color:#66bb6a}.basic-info-page .pwd-panel .pwd-field{display:block;margin-bottom:12px}.basic-info-page .pwd-panel .pwd-field span{display:block;font-size:12px;color:#8a8a8a;margin-bottom:4px}.basic-info-page .pwd-panel .pwd-field input{width:100%;box-sizing:border-box;border:1px solid #e0e0e0;border-radius:8px;padding:10px 12px;font-size:14px;outline:none;color:#333}.basic-info-page .pwd-panel .pwd-field input:focus{border-color:#66bb6a}.basic-info-page .pwd-panel .pwd-phone{font-size:14px;color:#333;font-weight:500}.basic-info-page .pwd-panel .pwd-code-row{display:flex;gap:8px}.basic-info-page .pwd-panel .pwd-code-row input{flex:1;min-width:0}.basic-info-page .pwd-panel .pwd-code-row .pwd-code-btn{flex-shrink:0;width:104px;border:1px solid #66bb6a;background:#fff;color:#2e7d32;border-radius:8px;font-size:13px;cursor:pointer;padding:0 8px}.basic-info-page .pwd-panel .pwd-code-row .pwd-code-btn:disabled{opacity:.5;cursor:not-allowed}.basic-info-page .pwd-panel .pwd-err{color:#e53935;font-size:12px;margin:4px 0 8px;min-height:16px}.basic-info-page .pwd-panel .pwd-actions{display:flex;gap:10px;margin-top:6px}.basic-info-page .pwd-panel .pwd-actions .pwd-btn{flex:1;border:none;border-radius:20px;padding:11px;font-size:14px;cursor:pointer}.basic-info-page .pwd-panel .pwd-actions .pwd-btn.primary{background:linear-gradient(135deg,#2e7d32,#66bb6a);color:#fff}.basic-info-page .pwd-panel .pwd-actions .pwd-btn:not(.primary){background:#f5f5f5;color:#666}.basic-info-page .pwd-panel .pwd-actions .pwd-btn:disabled{opacity:.6;cursor:not-allowed}.merchant-apply-page{max-width:480px;margin:0 auto;min-height:100vh;background:#f5f6f8;padding-bottom:24px}.apply-status-card{margin:12px;padding:14px 16px;background:#fff;border-radius:12px}.apply-status-card .status-row{display:flex;align-items:center;justify-content:space-between}.apply-status-card .status-name{font-size:15px;font-weight:600;color:#212121}.apply-status-card .status-badge{font-size:12px;padding:2px 10px;border-radius:999px}.apply-status-card .status-badge.st-pending{background:#fff7e6;color:#d46b08}.apply-status-card .status-badge.st-pass{background:#e8f5e9;color:#2d8a3e}.apply-status-card .status-badge.st-reject{background:#fdecec;color:#cf1322}.apply-status-card .status-reason{margin-top:8px;font-size:12px;color:#9e9e9e;line-height:1.6}.apply-status-card .status-reason.status-change-pending{color:#d46b08}.apply-status-card .m-edit-btn{margin-top:10px;width:100%;padding:9px;border:1px solid #2d8a3e;border-radius:999px;background:#fff;color:#2d8a3e;font-size:13px;cursor:pointer}.apply-form-card{margin:12px;padding:16px;background:#fff;border-radius:12px}.apply-form-card h3{margin:0 0 12px;font-size:15px;color:#212121}.m-field{display:block;margin-bottom:14px}.m-field .m-label{display:block;font-size:13px;color:#616161;margin-bottom:6px}.m-field .m-label em{color:#e53935;font-style:normal;margin-left:2px}.m-input,.m-textarea{width:100%;border:1px solid #e0e0e0;border-radius:8px;padding:10px 12px;font-size:14px;color:#212121;box-sizing:border-box;outline:none}.m-input:focus,.m-textarea:focus{border-color:#2d8a3e}.m-textarea{resize:vertical}.m-logo-row{width:88px;height:88px;border:1px dashed #bdbdbd;border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer}.m-logo-row img{width:100%;height:100%;object-fit:cover}.m-logo-row .m-logo-ph{font-size:12px;color:#9e9e9e;text-align:center}.m-submit{width:100%;padding:12px;border:none;border-radius:999px;background:#2d8a3e;color:#fff;font-size:15px;font-weight:600;cursor:pointer}.m-submit:disabled{opacity:.6}.m-tip{margin:10px 0 0;font-size:11px;color:#9e9e9e;line-height:1.6}.ap-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#14141e8c;display:flex;align-items:flex-end;justify-content:center;z-index:1000;animation:ap-fade-in .2s ease}.ap-panel{background:#fff;width:100%;max-width:480px;border-radius:18px 18px 0 0;max-height:90vh;overflow-y:auto;padding:18px 20px 28px;animation:ap-slide-up .25s cubic-bezier(.34,1.56,.64,1)}@media (min-width: 600px){.ap-mask{align-items:center;padding:24px}.ap-panel{border-radius:20px}}@keyframes ap-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ap-slide-up{0%{transform:translateY(24px);opacity:.4}to{transform:translateY(0);opacity:1}}.ap-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.ap-header h3{margin:0;font-size:17px;font-weight:600;color:#1a1a20}.ap-close{width:32px;height:32px;border-radius:50%;border:none;background:#f2f2f5;color:#888;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.ap-close:active{background:#e4e4e8}.ap-current{display:flex;flex-direction:column;align-items:center;padding:14px 0 18px;border-bottom:1px solid #f0f0f4;margin-bottom:14px}.ap-current-img{width:72px;height:72px;border-radius:50%;border:3px solid #fff;box-shadow:0 2px 10px #0000001f;object-fit:cover;background:#f7f7fa}.ap-current-label{font-size:12px;color:#888;margin-top:8px}.ap-section-title{font-size:13px;color:#888;font-weight:500;margin:12px 0 10px;padding-left:2px}.ap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 14px}.ap-grid-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 10px;border-radius:12px;border:2px solid transparent;background:transparent;cursor:pointer;transition:all .18s ease}.ap-grid-item img{width:58px;height:58px;border-radius:50%;object-fit:contain;background:#fafafb;padding:2px;transition:transform .18s ease}.ap-grid-item .ap-grid-label{font-size:11px;color:#666}.ap-grid-item:active img{transform:scale(.94)}.ap-grid-item.active{border-color:#4caf50;background:#4caf5014}.ap-upload-btn{width:100%;padding:14px;border-radius:12px;border:1.5px dashed #d0d0d6;background:#fafafa;color:#555;font-size:15px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;transition:all .2s ease;margin-top:4px}.ap-upload-btn:active{background:#f0f0f4;border-color:#b0b0ba}.ap-upload-btn:disabled{opacity:.5;cursor:not-allowed}.ap-upload-hint{font-size:12px;color:#999}.ap-loading,.ap-error{margin-top:12px;text-align:center;font-size:13px}.ap-loading{color:#4caf50}.ap-error{color:#e53935}.profile-page{min-height:100vh;background:#f5f6f8}.profile-gear{border:none;background:transparent;color:#fff;padding:6px;display:flex;align-items:center;cursor:pointer}.member-notice{display:flex;align-items:center;gap:8px;margin:10px 12px 0;padding:11px 14px;border-radius:12px;font-size:13px;cursor:pointer}.member-notice .mn-icon{font-size:16px}.member-notice .mn-text{flex:1}.member-notice .mn-arrow{font-size:16px;opacity:.6}.member-notice.review{background:#fffbe6;border:1px solid #ffe58f;color:#ad6800}.member-notice.unpaid{background:#fff2e8;border:1px solid #ffbb96;color:#d4380d}.user-card{background:linear-gradient(135deg,#2e7d32,#66bb6a);color:#fff;display:flex;align-items:center;padding:24px 20px;gap:14px}.user-card .avatar{width:60px;height:60px;border-radius:50%;background:#ffffff40;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:600;overflow:hidden}.user-card .avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center}.user-card .avatar.ph{font-size:30px;background:#fff3}.user-card .avatar.avatar-clickable{cursor:pointer;transition:transform .18s ease}.user-card .avatar.avatar-clickable:active{transform:scale(.92)}.user-card .user-info{flex:1;min-width:0}.user-card .user-info h2{font-size:17px;font-weight:600;margin:0 0 4px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;line-height:1.5}.user-card .user-info .uid{font-size:12px;opacity:.85;margin:0}.user-card .user-info .member-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;white-space:nowrap;box-shadow:0 1px 4px #0003;letter-spacing:.3px;line-height:1.4}.user-card .user-info .member-badge.type-3{box-shadow:0 1px 6px #fa8c1680}.user-card .user-info .member-badge.type-4{box-shadow:0 1px 6px #00c85380}.user-card .member-entry{color:#fff;background:#fff3;padding:6px 12px;border-radius:14px;font-size:12px;align-self:center;white-space:nowrap;cursor:pointer}.user-card .login-btn{background:#fff;color:#2e7d32;padding:6px 16px;border-radius:14px;font-size:13px;font-weight:600;cursor:pointer}.member-popover .mp-row{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:13px}.member-popover .mp-label{color:#8c8c8c}.member-popover .mp-val{color:#262626;font-weight:600}.member-popover .mp-tip{margin-top:6px;padding-top:6px;border-top:1px dashed #f0f0f0;font-size:11px;color:#8c8c8c}.stat-row{display:flex;background:#fff;margin:10px;border-radius:10px;padding:16px 0;box-shadow:0 1px 4px #0000000a}.stat-row .stat-item{flex:1;text-align:center}.stat-row .stat-item .stat-num{font-size:20px;font-weight:700;color:#2e7d32;margin-bottom:4px}.stat-row .stat-item .stat-label{font-size:12px;color:#9e9e9e}.invite-card{margin:12px;border-radius:14px;background:linear-gradient(135deg,#fff8e1,#ffe0b2);border:1px solid #ffcc80;overflow:hidden}.invite-card .invite-head{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer}.invite-card .invite-head .invite-emoji{font-size:22px}.invite-card .invite-head .invite-head-text{flex:1}.invite-card .invite-head .invite-title{font-size:14px;font-weight:600;color:#e65100}.invite-card .invite-head .invite-desc{font-size:11px;color:#bf360c;margin-top:2px}.invite-card .invite-head .invite-arrow{color:#e65100;font-size:14px}.invite-card .invite-body{padding:0 14px 14px;border-top:1px dashed #ffcc80}.invite-card .invite-code-box{display:flex;align-items:center;gap:10px;padding:12px 10px;background:#fff;border-radius:10px;margin-top:10px}.invite-card .invite-code-box .invite-code-label{font-size:11px;color:#888;flex-shrink:0}.invite-card .invite-code-box .invite-code{flex:1;text-align:center;font-family:monospace;font-size:16px;font-weight:700;letter-spacing:3px;color:#e65100}.invite-card .invite-code-box .invite-copy{flex-shrink:0;padding:4px 12px;font-size:12px;border:none;border-radius:14px;background:linear-gradient(135deg,#ff9800,#ff5722);color:#fff;cursor:pointer}.invite-card .invite-code-box .invite-copy.copied{background:#4caf50}.invite-card .invite-url{margin-top:8px;padding:8px 10px;background:#fff;border-radius:8px;display:flex;gap:6px;font-size:10px;overflow:hidden}.invite-card .invite-url .invite-url-label{color:#888;flex-shrink:0}.invite-card .invite-url .invite-url-text{flex:1;font-family:monospace;font-size:10px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invite-card .invite-tip{font-size:11px;color:#8d6e63;margin-top:10px;text-align:center}.invite-card .invite-share{display:block;width:100%;margin-top:12px;padding:9px;font-size:13px;font-weight:600;color:#fff;background:linear-gradient(135deg,#ff6f00,#e65100);border:none;border-radius:20px;cursor:pointer}.menu-list{background:#fff;margin:10px;border-radius:10px;overflow:hidden}.menu-list .menu-item{display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid #f0f0f0;cursor:pointer}.menu-list .menu-item:last-child{border-bottom:none}.menu-list .menu-item:hover{background:#f7faf8}.menu-list .menu-item:hover .menu-arrow{color:#2d8a3e;transform:translate(2px)}.menu-list .menu-item:active{background:#f5f6f8}.menu-list .menu-item .menu-icon{font-size:20px;margin-right:12px}.menu-list .menu-item .menu-text{flex:1}.menu-list .menu-item .menu-label{font-size:14px;color:#212121;margin-bottom:2px}.menu-list .menu-item .menu-desc{font-size:11px;color:#9e9e9e}.menu-list .menu-item .menu-arrow{color:#ccc;font-size:18px;transition:color .15s,transform .15s}.logout-btn{display:block;margin:20px auto;padding:10px 40px;background:#fff;color:#e53935;border-radius:22px;font-size:14px;border:1px solid #ffcdd2}.logout-btn:active{background:#ffebee}.org-apply-entry.org-approved .menu-icon{opacity:1}.org-apply-entry .org-approved-tag{display:inline-block;margin-left:6px;font-size:11px;font-weight:500;color:#1677ff;background:#1677ff1a;padding:1px 8px;border-radius:8px}.apply-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:9999;display:flex;align-items:flex-end;justify-content:center}.apply-modal{background:#fff;border-radius:16px 16px 0 0;width:100%;max-width:480px;max-height:85vh;overflow-y:auto;animation:slideUp .25s ease}.apply-modal-header{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f0f0f0}.apply-modal-header h3{font-size:16px;font-weight:600;color:#1a1a1a;margin:0}.apply-modal-header .apply-close{font-size:22px;color:#999;cursor:pointer;padding:4px}.apply-modal-body{padding:16px 20px;display:flex;flex-direction:column;gap:14px}.apply-field{display:flex;flex-direction:column;gap:6px}.apply-label{font-size:13px;color:#333;font-weight:500}.apply-label em{color:#e53935;font-style:normal}.apply-input,.apply-textarea{border:1px solid #e5e5e5;border-radius:8px;padding:10px 12px;font-size:14px;background:#fafafa;outline:none;transition:border .2s,background .2s;font-family:inherit}.apply-input:focus,.apply-textarea:focus{border-color:#2e7d32;background:#fff}.apply-textarea{resize:none}.apply-modal-footer{padding:14px 20px 24px}.apply-submit{width:100%;padding:13px;background:linear-gradient(135deg,#2e7d32,#66bb6a);color:#fff;border:none;border-radius:24px;font-size:15px;font-weight:600;cursor:pointer}.apply-submit:active{opacity:.9}.apply-submit:disabled{opacity:.6;cursor:not-allowed}.my-registrations{padding-bottom:20px}.status-tabs{display:flex;padding:12px;gap:8px;background:#fff;border-bottom:1px solid #f0f0f0}.status-tabs .tab-item{flex:1;padding:8px 0;border:none;background:#f5f5f5;border-radius:20px;font-size:13px;color:#666;cursor:pointer;transition:all .2s}.status-tabs .tab-item.active{background:linear-gradient(135deg,#2d8a3e,#52b566);color:#fff;font-weight:600}.reg-list{padding:12px;display:flex;flex-direction:column;gap:12px}.reg-card{display:flex;gap:12px;background:#fff;border-radius:12px;padding:12px;box-shadow:0 2px 8px #0000000f;cursor:pointer}.reg-card .reg-cover{width:100px;height:100px;border-radius:8px;object-fit:cover;flex-shrink:0}.reg-card .reg-info{flex:1;min-width:0;display:flex;flex-direction:column}.reg-card .reg-title{font-size:15px;font-weight:600;color:#222;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.reg-card .reg-meta{display:flex;gap:12px;margin-top:6px;font-size:12px;color:#888}.reg-card .reg-remark{margin-top:4px;font-size:12px;color:#999;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.reg-card .reg-policy{margin-top:4px;font-size:12px;color:#8d6e00;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reg-card .reg-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between}.reg-card .status-tag{font-size:11px;padding:2px 8px;border-radius:10px}.reg-card .status-tag.s-active{background:#e8f5e9;color:#2d8a3e}.reg-card .status-tag.s-cancel{background:#f5f5f5;color:#999}.reg-card .status-tag.s-done{background:#e3f2fd;color:#1976d2}.reg-card .btn-cancel{font-size:12px;padding:4px 12px;border:1px solid #ddd;background:#fff;border-radius:12px;color:#666;cursor:pointer}.reg-card .btn-cancel:active{background:#f5f5f5}.my-favorites{padding-bottom:20px}.fav-tabs{display:flex;gap:0;padding:0 12px;border-bottom:1px solid #f0f0f0;background:#fff}.fav-tab{flex:1;padding:12px 0;background:none;border:none;font-size:15px;color:#666;cursor:pointer;position:relative;transition:color .2s}.fav-tab.active{color:#2d8a3e;font-weight:600}.fav-tab.active:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:32px;height:3px;background:#2d8a3e;border-radius:2px}.fav-list{padding:12px;display:flex;flex-direction:column;gap:12px}.fav-card{display:flex;gap:12px;background:#fff;border-radius:12px;padding:12px;box-shadow:0 2px 8px #0000000f;cursor:pointer;position:relative}.fav-card .fav-cover{width:90px;height:90px;border-radius:8px;object-fit:cover;flex-shrink:0}.fav-card .fav-info{flex:1;min-width:0}.fav-card .fav-title{font-size:15px;font-weight:600;color:#222;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fav-card .fav-meta{margin-top:4px;font-size:12px;color:#888;display:flex;gap:12px}.fav-card .fav-remove{position:absolute;top:8px;right:8px;width:24px;height:24px;border:none;background:#0000001a;color:#fff;border-radius:50%;font-size:12px;cursor:pointer}.fav-card .fav-remove:active{background:#0000004d}.empty p{margin-bottom:20px;font-size:14px}.empty .btn-primary{background:linear-gradient(135deg,#2d8a3e,#52b566);color:#fff;border:none;padding:10px 24px;border-radius:20px;font-size:14px;cursor:pointer}.my-activities{min-height:100vh;background:#f5f6f8}.act-list{padding:12px 16px 80px}.empty{text-align:center;padding:60px 20px;color:#999}.empty .empty-icon{font-size:48px;margin-bottom:12px}.empty p{margin-bottom:16px}.empty .btn-primary{padding:10px 24px;background:#2e7d32;color:#fff;border:none;border-radius:20px;font-size:14px;cursor:pointer}.act-card{background:#fff;border-radius:12px;overflow:hidden;margin-bottom:12px;display:flex;gap:12px;padding:12px;box-shadow:0 1px 4px #0000000a;cursor:pointer;transition:box-shadow .2s,transform .2s}.act-card:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-1px)}.act-card:active{background:#fafafa}.act-cover{width:100px;height:100px;border-radius:8px;object-fit:cover;flex-shrink:0;background:#eee}.act-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.act-title{font-size:15px;font-weight:600;color:#1a1a1a;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3}.act-meta,.act-meta2{display:flex;gap:8px;align-items:center;font-size:12px;color:#666;flex-wrap:wrap}.price{color:#fa541c;font-weight:600}.org-tag{font-size:11px;padding:1px 6px;border-radius:4px;background:#fff7e6;color:#d46b08}.reject-reason{font-size:12px;color:#cf1322;background:#fff1f0;padding:4px 8px;border-radius:4px;line-height:1.4}.act-bottom{display:flex;gap:6px;align-items:center;margin-top:auto;padding-top:4px}.btn-edit{margin-left:auto;font-size:11px;padding:3px 10px;border-radius:10px;border:1px solid #2e7d32;background:#fff;color:#2e7d32;cursor:pointer}.btn-edit:hover{background:#e8f5e9}.btn-edit+.btn-edit{margin-left:6px}.batch-tag{font-size:11px;padding:1px 6px;border-radius:4px;background:#e6f4ff;color:#0958d9}.status-tag{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500}.status-tag.a-pending{background:#e6f4ff;color:#1677ff}.status-tag.a-pass{background:#f6ffed;color:#52c41a}.status-tag.a-reject{background:#fff1f0;color:#cf1322}.status-tag.s-on{background:#f6ffed;color:#52c41a}.status-tag.s-off{background:#f5f5f5;color:#999}.status-tag.s-full{background:#fff7e6;color:#d46b08}.status-tag.s-end{background:#f0f0f0;color:#666}.my-points-page{padding-bottom:24px}.my-points-page .points-hero{margin:12px 16px 0;padding:18px 20px;border-radius:16px;background:linear-gradient(135deg,#fff7e6,#ffe58f);box-shadow:0 4px 14px #d46b081f}.my-points-page .points-hero .ph-label{font-size:13px;color:#8c6d1f;letter-spacing:1px}.my-points-page .points-hero .ph-balance{margin-top:4px;font-size:34px;font-weight:700;color:#d46b08;line-height:1.2}.my-points-page .points-hero .ph-balance small{margin-left:4px;font-size:13px;font-weight:400;color:#ad8b00}.my-points-page .points-hero .ph-sub{margin-top:6px;font-size:12px;color:#ad8b00}.my-points-page .checkin-card{margin:12px 16px 0;padding:14px 16px;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 10px #0000000d}.my-points-page .checkin-card .ci-left .ci-title{font-size:14px;font-weight:600;color:#333}.my-points-page .checkin-card .ci-left .ci-desc{margin-top:4px;font-size:12px;color:#999}.my-points-page .checkin-card .ci-btn{min-width:96px;height:36px;padding:0 14px;border:none;border-radius:18px;background:linear-gradient(135deg,#ff9f45,#fa8c16);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.my-points-page .checkin-card .ci-btn:disabled{background:#f0f0f0;color:#aaa;cursor:not-allowed}.my-points-page .calendar-card{margin:12px 16px 0;padding:12px 14px 10px;border-radius:14px;background:#fff;box-shadow:0 2px 10px #0000000d}.my-points-page .calendar-card .cal-head{display:flex;align-items:center;justify-content:space-between}.my-points-page .calendar-card .cal-head button{width:28px;height:28px;border:none;border-radius:14px;background:#fafafa;color:#666;font-size:15px;line-height:1;cursor:pointer}.my-points-page .calendar-card .cal-head button:disabled{color:#ddd;cursor:not-allowed}.my-points-page .calendar-card .cal-head .cal-title{font-size:14px;font-weight:600;color:#333}.my-points-page .calendar-card .cal-week{margin-top:10px;display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:12px;color:#999}.my-points-page .calendar-card .cal-grid{margin-top:4px;display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.my-points-page .calendar-card .cal-cell{height:42px;padding-top:6px;border-radius:8px;text-align:center;font-size:12px;color:#bbb;background:#fcfcfc}.my-points-page .calendar-card .cal-cell .cal-day{display:block;font-size:13px;color:#999}.my-points-page .calendar-card .cal-cell .cal-points{display:block;margin-top:1px;font-size:10px;color:#ad8b00;line-height:1}.my-points-page .calendar-card .cal-cell.empty{background:transparent}.my-points-page .calendar-card .cal-cell.checked{background:#fff7e6}.my-points-page .calendar-card .cal-cell.checked .cal-day{color:#d46b08;font-weight:600}.my-points-page .calendar-card .cal-cell.today{box-shadow:inset 0 0 0 1px #fa8c16}.my-points-page .calendar-card .cal-foot{margin-top:8px;text-align:center;font-size:12px;color:#999}.my-points-page .calendar-card .cal-foot b{color:#d46b08;margin:0 2px}.my-points-page .gift-card{margin:12px 16px 0;padding:14px 16px;border-radius:14px;background:#fff;box-shadow:0 2px 10px #0000000d}.my-points-page .gift-card .gift-head{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.my-points-page .gift-card .gift-head .gift-title{font-size:14px;font-weight:600;color:#333}.my-points-page .gift-card .gift-head .gift-desc{margin-top:4px;font-size:12px;color:#999}.my-points-page .gift-card .gift-head .gift-arrow{font-size:12px;color:#fa8c16}.my-points-page .gift-card .gift-form{margin-top:12px;padding-top:12px;border-top:1px dashed #f0f0f0}.my-points-page .gift-card .gift-form label{display:block;margin-bottom:10px}.my-points-page .gift-card .gift-form label span{display:block;margin-bottom:4px;font-size:12px;color:#666}.my-points-page .gift-card .gift-form label input{width:100%;height:38px;padding:0 10px;border:1px solid #eee;border-radius:8px;font-size:14px;color:#333;outline:none;background:#fafafa}.my-points-page .gift-card .gift-form label input:focus{border-color:#fa8c16;background:#fff}.my-points-page .gift-card .gift-form .gift-btn{width:100%;height:38px;margin-top:2px;border:none;border-radius:19px;background:linear-gradient(135deg,#ff9f45,#fa8c16);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.my-points-page .gift-card .gift-form .gift-btn:disabled{background:#f0f0f0;color:#aaa;cursor:not-allowed}.my-points-page .gift-card .gift-form .gift-tip{margin-top:10px;font-size:11px;color:#bbb;line-height:1.7}.my-points-page .mall-card{margin:12px 16px 0;padding:14px 16px;border-radius:14px;background:#fff;box-shadow:0 2px 10px #0000000d}.my-points-page .mall-card .mall-title{font-size:14px;font-weight:600;color:#333;margin-bottom:10px}.my-points-page .mall-card .mall-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.my-points-page .mall-card .mall-item{padding:12px;border:1px solid #f5f5f5;border-radius:10px;background:#fffdf9;display:flex;flex-direction:column}.my-points-page .mall-card .mall-item .mall-name{font-size:14px;font-weight:600;color:#333}.my-points-page .mall-card .mall-item .mall-desc{margin-top:4px;font-size:11px;color:#999;line-height:1.5}.my-points-page .mall-card .mall-item .mall-cost{margin-top:8px;font-size:15px;font-weight:700;color:#fa8c16}.my-points-page .mall-card .mall-item .mall-btn{margin-top:8px;height:32px;border:none;border-radius:16px;background:linear-gradient(135deg,#ff9f45,#fa8c16);color:#fff;font-size:13px;font-weight:600;cursor:pointer}.my-points-page .mall-card .mall-item .mall-btn:disabled{background:#f0f0f0;color:#aaa;cursor:not-allowed}.my-points-page .mall-card .mall-empty{padding:18px 0;text-align:center;font-size:13px;color:#bbb}.my-points-page .mall-card .mall-tip{margin-top:10px;font-size:11px;color:#bbb;line-height:1.7}.my-points-page .points-tabs{margin:16px 16px 8px;display:flex;gap:8px}.my-points-page .points-tabs button{padding:6px 14px;border:1px solid #eee;border-radius:16px;background:#fff;color:#666;font-size:13px;cursor:pointer}.my-points-page .points-tabs button.active{border-color:#fa8c16;background:#fff7e6;color:#d46b08;font-weight:600}.my-points-page .points-list{margin:0 16px;border-radius:14px;background:#fff;overflow:hidden}.my-points-page .points-list .pt-item{padding:14px 16px;border-bottom:1px solid #f5f5f5}.my-points-page .points-list .pt-item:last-child{border-bottom:none}.my-points-page .points-list .pt-item .pt-top{display:flex;align-items:center;justify-content:space-between}.my-points-page .points-list .pt-item .pt-top .pt-title{font-size:14px;font-weight:600;color:#333}.my-points-page .points-list .pt-item .pt-top .pt-points{font-size:16px;font-weight:700}.my-points-page .points-list .pt-item .pt-top .pt-points.plus{color:#389e0d}.my-points-page .points-list .pt-item .pt-top .pt-points.minus{color:#cf1322}.my-points-page .points-list .pt-item .pt-remark{margin-top:4px;font-size:12px;color:#888;line-height:1.5}.my-points-page .points-list .pt-item .pt-bottom{margin-top:6px;display:flex;justify-content:space-between;font-size:12px;color:#bbb}.my-points-page .load-more{margin:14px 16px 0;width:calc(100% - 32px);height:38px;border:1px solid #eee;border-radius:19px;background:#fff;color:#666;font-size:13px;cursor:pointer}.my-points-page .points-empty{margin:40px 16px;padding:40px 0;border-radius:14px;background:#fff;text-align:center;color:#999;font-size:14px}.my-points-page .points-empty .pe-icon{font-size:40px;margin-bottom:10px}.my-points-page .points-login{margin:60px 16px;text-align:center}.my-points-page .points-login .pl-icon{font-size:44px;margin-bottom:12px}.my-points-page .points-login p{color:#999;margin-bottom:16px}.my-points-page .points-login button{padding:9px 28px;border:none;border-radius:18px;background:#fa8c16;color:#fff;cursor:pointer}.my-points-page .rule-tip{margin:16px;padding:12px 14px;border-radius:12px;background:#fafafa;font-size:12px;color:#999;line-height:1.8}.member-gate{position:relative;overflow:hidden;border-radius:12px}.member-gate-blur{filter:blur(6px);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.5}.member-gate-prompt{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;text-align:center;background:#ffffffb8}.member-gate-icon{font-size:28px}.member-gate-title{font-size:15px;font-weight:600;color:#333}.member-gate-desc{font-size:12px;color:#888;max-width:260px}.member-gate-btn{margin-top:4px;border:none;border-radius:999px;padding:8px 22px;font-size:13px;font-weight:600;color:#fff;background:linear-gradient(135deg,#f5a623,#e8890c);cursor:pointer}.member-gate-btn:active{opacity:.85}.equipment-page{padding-bottom:40px}.rec-banner{margin:12px;padding:14px;background:linear-gradient(135deg,#e6f4ea,#f0f9ff);border-radius:12px;box-shadow:0 2px 8px #0000000f}.rec-banner .rec-banner-head{display:flex;align-items:center;gap:10px}.rec-banner .rec-banner-icon{font-size:28px}.rec-banner .rec-banner-title{font-size:15px;font-weight:600;color:#222}.rec-banner .rec-banner-sub{font-size:12px;color:#666;margin-top:2px}.rec-banner .rec-stats{display:flex;gap:10px;margin-top:10px}.rec-banner .rec-stat{font-size:12px;padding:2px 8px;border-radius:10px;font-weight:500}.rec-banner .rec-stat.required{background:#fff1f0;color:#f5222d}.rec-banner .rec-stat.recommended{background:#fff7e6;color:#fa8c16}.rec-banner .rec-stat.optional{background:#f5f5f5;color:#999}.rec-banner .rec-legend{display:flex;gap:14px;margin-top:8px;font-size:11px;color:#999}.rec-banner .rec-legend .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:middle}.rec-banner .rec-legend .dot.required{background:#f5222d}.rec-banner .rec-legend .dot.recommended{background:#fa8c16}.rec-banner .rec-legend .dot.optional{background:#d9d9d9}.eq-item .rec-tag{position:absolute;top:6px;left:6px;font-size:10px;padding:1px 6px;border-radius:6px;font-weight:500;line-height:1.4}.eq-item .rec-tag.required{background:#fff1f0;color:#f5222d}.eq-item .rec-tag.recommended{background:#fff7e6;color:#fa8c16}.eq-item .rec-tag.optional{background:#f5f5f5;color:#999}.eq-item.rec-required{border-left:3px solid #f5222d}.eq-item.rec-recommended{border-left:3px solid #fa8c16}.eq-item.rec-optional{opacity:.75}.progress-bar{margin:16px 12px;padding:12px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;position:relative}.progress-bar .progress-inner{height:6px;background:linear-gradient(90deg,#2d8a3e,#52b566);border-radius:3px;transition:width .3s}.progress-bar .progress-text{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:13px;color:#2d8a3e;font-weight:600}.eq-category{margin-top:16px}.cat-title{padding:0 16px 8px;font-size:15px;font-weight:600;color:#222}.eq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 12px}.eq-item{background:#fff;border-radius:12px;padding:14px 12px;position:relative;cursor:pointer;box-shadow:0 2px 8px #0000000f;transition:all .2s;border:2px solid transparent}.eq-item:active{transform:scale(.97)}.eq-item .eq-icon{font-size:28px}.eq-item .eq-name{font-size:13px;font-weight:500;color:#333;margin-top:4px}.eq-item .eq-note{font-size:11px;color:#999;margin-top:2px}.eq-item .eq-check{position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:50%;border:1.5px solid #ddd;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff}.eq-item .eq-check.on{background:#2d8a3e;border-color:#2d8a3e}.eq-item.checked{border-color:#2d8a3e;background:#f0faf3}.eq-item.checked .eq-name{text-decoration:line-through;color:#999}.eq-item.checked .eq-icon{opacity:.5}.about-page{padding-bottom:40px}.about-hero{text-align:center;padding:30px 20px;background:linear-gradient(135deg,#2d8a3e,#52b566,#8bc99a);color:#fff}.about-hero .hero-logo-badge{width:96px;height:96px;margin:0 auto 4px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #0000002e,0 0 0 4px #ffffff40}.about-hero .hero-logo-badge img{height:76px;width:auto;display:block}.about-hero h1{font-size:24px;margin:8px 0 4px}.about-hero .hero-slogan{font-size:14px;opacity:.9}.about-hero .hero-ver{font-size:12px;margin-top:12px;opacity:.7;background:#fff3;display:inline-block;padding:3px 12px;border-radius:12px}.about-section{margin:16px 12px;padding:16px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}.about-section h3{font-size:15px;color:#222;margin-bottom:10px;padding-left:8px;border-left:3px solid #2d8a3e}.about-section p{font-size:13px;color:#666;line-height:1.7}.feature-list{list-style:none;padding:0;margin:0}.feature-list li{font-size:13px;color:#666;padding:6px 0;border-bottom:1px solid #f5f5f5}.feature-list li:last-child{border-bottom:none}.contact-list{display:flex;flex-direction:column;gap:10px}.contact-item{display:flex;align-items:center;gap:10px;font-size:13px;color:#666}.contact-item .c-icon{font-size:18px;display:inline-flex;align-items:center}.copyright{text-align:center;font-size:11px;color:#bbb;padding:20px}.feedback-page{padding-bottom:40px}.fb-tip{margin:16px 12px 0;padding:12px 14px;background:#f0f9f1;border-radius:12px;display:flex;align-items:center;gap:10px}.fb-tip span{font-size:20px}.fb-tip p{font-size:12px;color:#2d8a3e;line-height:1.6;margin:0}.fb-form{margin:12px;padding:16px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}.fb-section-title{font-size:13px;font-weight:600;color:#222;margin:14px 0 8px}.fb-section-title:first-child{margin-top:0}.type-chips{display:flex;flex-wrap:wrap;gap:8px}.type-chip{font-size:12px;color:#666;padding:6px 12px;border:1px solid #e5e5e5;border-radius:16px;cursor:pointer;transition:all .2s}.type-chip.active{color:#2d8a3e;border-color:#2d8a3e;background:#f0f9f1;font-weight:600}.textarea-wrap{position:relative}.textarea-wrap textarea{width:100%;box-sizing:border-box;border:1px solid #e5e5e5;border-radius:8px;padding:10px 12px;font-size:13px;color:#333;line-height:1.6;resize:vertical;outline:none;font-family:inherit}.textarea-wrap textarea:focus{border-color:#2d8a3e}.textarea-wrap .char-count{position:absolute;right:10px;bottom:8px;font-size:11px;color:#bbb}.contact-input{width:100%;box-sizing:border-box;border:1px solid #e5e5e5;border-radius:8px;padding:10px 12px;font-size:13px;color:#333;outline:none}.contact-input::placeholder{color:#bbb}.contact-input:focus{border-color:#2d8a3e}.submit-btn{width:100%;margin-top:20px;padding:12px;border:none;border-radius:24px;background:linear-gradient(135deg,#2d8a3e,#52b566);color:#fff;font-size:15px;font-weight:600;cursor:pointer}.submit-btn.disabled{opacity:.5;cursor:not-allowed}.fb-history{margin:0 12px 16px}.fb-history .fb-section-title{padding-left:4px}.fb-item{background:#fff;border-radius:12px;padding:12px 14px;margin-bottom:10px;box-shadow:0 2px 8px #0000000d}.fb-item .fb-item-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.fb-item .fb-type{font-size:12px;color:#2d8a3e;background:#f0f9f1;padding:2px 8px;border-radius:10px}.fb-item .fb-status{font-size:11px;color:#fa8c16}.fb-item .fb-status.done{color:#999}.fb-item .fb-content{font-size:13px;color:#444;line-height:1.6;margin:0 0 6px;word-break:break-all}.fb-item .fb-time{font-size:11px;color:#bbb}.fb-item .fb-reply{margin:8px 0;padding:10px 12px;background:#f0f9f1;border-left:3px solid #2d8a3e;border-radius:0 8px 8px 0}.fb-item .fb-reply .fb-reply-head{font-size:12px;font-weight:600;color:#2d8a3e;margin-bottom:4px}.fb-item .fb-reply .fb-reply-text{font-size:13px;color:#333;line-height:1.6;margin:0 0 4px;white-space:pre-wrap;word-break:break-all}.calendar-page{padding-bottom:40px}.cal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;margin:12px;border-radius:12px;box-shadow:0 2px 8px #0000000f}.cal-header .cal-nav-btn{width:32px;height:32px;border:none;background:#f5f5f5;border-radius:50%;font-size:20px;color:#333;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.cal-header .cal-nav-btn:active{background:#e8e8e8}.cal-header .cal-title{font-size:17px;font-weight:600;color:#222;cursor:pointer}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:0 12px;margin-bottom:4px}.cal-weekdays .cal-weekday{text-align:center;font-size:12px;color:#999;padding:6px 0}.cal-weekdays .cal-weekday.weekend{color:#f5222d}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:0 10px}.cal-cell{aspect-ratio:1/1;background:#fff;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:4px;cursor:pointer;position:relative;transition:all .15s}.cal-cell.out{background:transparent}.cal-cell.out .cal-day-num{color:#ccc}.cal-cell.today .cal-day-num{background:#2d8a3e;color:#fff;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:12px}.cal-cell.selected{background:#e6f4ea;box-shadow:inset 0 0 0 2px #2d8a3e}.cal-cell:active{transform:scale(.95)}.cal-cell .cal-day-num{font-size:13px;color:#333;font-weight:500}.cal-cell .cal-dots{display:flex;gap:2px;margin-top:3px;align-items:center}.cal-cell .cal-dots .cal-dot{width:5px;height:5px;border-radius:50%}.cal-cell .cal-dots .cal-more{font-size:9px;color:#999;margin-left:1px}.cal-day-section{margin:16px 12px;background:#fff;border-radius:12px;padding:12px;box-shadow:0 2px 8px #0000000f;min-height:120px}.cal-day-title{font-size:15px;font-weight:600;color:#222;margin-bottom:12px}.cal-day-title .cal-day-count{font-size:12px;color:#999;font-weight:400}.cal-empty{text-align:center;padding:32px 16px;color:#999}.cal-empty .empty-icon{font-size:40px;margin-bottom:8px}.cal-empty p{margin:8px 0 16px;font-size:14px}.cal-empty .btn-primary{background:#2d8a3e;color:#fff;border:none;padding:8px 20px;border-radius:20px;font-size:14px;cursor:pointer}.cal-act-list{display:flex;flex-direction:column;gap:10px}.cal-act-card{display:flex;align-items:center;gap:10px;padding:8px;border-radius:10px;background:#fafafa;cursor:pointer;transition:background .15s}.cal-act-card:active{background:#f0f0f0}.cal-act-card .cal-act-cover{width:64px;height:64px;border-radius:8px;object-fit:cover;flex-shrink:0}.cal-act-card .cal-act-info{flex:1;min-width:0}.cal-act-card .cal-act-title{font-size:14px;font-weight:600;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-act-card .cal-act-meta{font-size:12px;color:#888;margin-top:3px;display:flex;gap:10px}.cal-act-card .cal-act-arrow{color:#ccc;font-size:22px;flex-shrink:0}.notifications-page{padding-bottom:40px}.notif-tabs{display:flex;gap:6px;padding:8px 12px;background:#fff;overflow-x:auto;white-space:nowrap}.notif-tabs .notif-tab{padding:5px 14px;border:none;background:#f5f5f5;border-radius:16px;font-size:13px;color:#666;cursor:pointer;flex-shrink:0}.notif-tabs .notif-tab.active{background:#2e7d32;color:#fff}.notif-list{padding:12px;display:flex;flex-direction:column;gap:8px}.notif-item{display:flex;align-items:flex-start;gap:10px;padding:12px;background:#fff;border-radius:10px;cursor:pointer;position:relative;box-shadow:0 1px 4px #0000000a;transition:background .15s}.notif-item:active{background:#f9f9f9}.notif-item.read{opacity:.65}.notif-item.high{border-left:3px solid #ff4d4f}.notif-item .notif-icon{font-size:22px;flex-shrink:0;line-height:1}.notif-item .notif-content{flex:1;min-width:0}.notif-item .notif-head{display:flex;align-items:center;gap:6px;margin-bottom:4px;position:relative}.notif-item .notif-head .notif-type{font-size:11px;color:#2e7d32;background:#e8f5e9;padding:1px 6px;border-radius:4px}.notif-item .notif-head .notif-high{font-size:11px;color:#fff;background:#ff4d4f;padding:1px 6px;border-radius:4px}.notif-item .notif-head .notif-time{font-size:11px;color:#aaa;margin-left:auto}.notif-item .notif-title{font-size:14px;font-weight:600;color:#222;margin-bottom:2px}.notif-item .notif-desc{font-size:12px;color:#888;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-item .notif-dot{position:absolute;top:50%;transform:translateY(-50%);right:0;width:8px;height:8px;background:#ff4d4f;border-radius:50%}.notif-item .notif-time{margin-right:14px}.notif-detail .notif-detail-title{font-size:16px;font-weight:600;color:#222;margin-bottom:10px;line-height:1.4}.notif-detail .notif-detail-content{font-size:14px;color:#555;line-height:1.7;white-space:pre-wrap;word-break:break-word;margin-bottom:12px;max-height:40vh;overflow-y:auto}.notif-detail .notif-detail-time{font-size:12px;color:#aaa;text-align:right}.mark-all-btn{font-size:12px;color:#fff;background:#fff3;border:none;padding:4px 10px;border-radius:12px;cursor:pointer}.notif-empty{text-align:center;padding:60px 16px;color:#999}.notif-empty .empty-icon{font-size:48px;margin-bottom:12px}.notif-empty p{margin:0;font-size:14px}.news-page{padding-bottom:40px}.news-tabs{display:flex;gap:6px;padding:8px 12px;background:#fff;overflow-x:auto;white-space:nowrap}.news-tabs .news-tab{padding:5px 14px;border:none;background:#f5f5f5;border-radius:16px;font-size:13px;color:#666;cursor:pointer;flex-shrink:0}.news-tabs .news-tab.active{background:#2e7d32;color:#fff}.news-list{padding:12px;display:flex;flex-direction:column;gap:10px}.news-card{display:flex;align-items:stretch;gap:8px;padding:14px;background:#fff;border-radius:12px;cursor:pointer;position:relative;box-shadow:0 1px 4px #0000000d;transition:background .15s}.news-card:active{background:#f9f9f9}.news-card .news-hot{position:absolute;top:0;left:0;background:#ff4d4f;color:#fff;font-size:10px;padding:2px 8px;border-radius:12px 0;font-weight:600}.news-card .news-card-main{flex:1;min-width:0}.news-card .news-cat{font-size:11px;font-weight:600;margin-bottom:4px}.news-card .news-title{font-size:15px;font-weight:600;color:#222;line-height:1.4;margin-bottom:6px}.news-card .news-summary{font-size:12px;color:#888;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:6px}.news-card .news-meta{display:flex;gap:12px;font-size:11px;color:#aaa}.news-card .news-arrow{display:flex;align-items:center;color:#ccc;font-size:22px;flex-shrink:0}.news-empty{text-align:center;padding:60px 16px;color:#999}.news-empty .empty-icon{font-size:48px;margin-bottom:12px}.news-empty p{margin:0;font-size:14px}.news-detail{padding-bottom:40px}.nd-content{padding:16px;background:#fff;margin:12px;border-radius:12px}.nd-cat{font-size:12px;font-weight:600;margin-bottom:8px}.nd-title{font-size:19px;font-weight:700;color:#222;line-height:1.5;margin:0 0 12px}.nd-meta{display:flex;gap:14px;font-size:12px;color:#999;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.nd-summary p{font-size:15px;color:#333;line-height:1.8;margin:0 0 12px}.nd-notice{margin:16px 0;padding:10px 12px;background:#fff7e6;border-radius:8px;font-size:12px;color:#fa8c16}.nd-source-link{display:block;text-align:center;padding:12px;background:#2e7d32;color:#fff;border-radius:10px;font-size:15px;font-weight:500;text-decoration:none;margin-top:8px}.nd-source-link:active{background:#256428}.nd-loading,.nd-empty{text-align:center;padding:60px 16px;color:#999;font-size:14px}.discover-page{padding-bottom:24px;width:100%;min-width:0;box-sizing:border-box;overflow-x:hidden}.d-search{padding:12px 12px 8px;background:#fff;position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:8px}.d-search .d-search-box{flex:1;display:flex;align-items:center;gap:8px;background:#f5f5f5;border-radius:20px;padding:8px 14px}.d-search .d-search-box .d-search-icon{color:#999;font-size:14px}.d-search .d-search-box input{flex:1;border:none;background:transparent;outline:none;font-size:14px;color:#333}.d-search .d-search-clear{background:#eee;border:none;width:24px;height:24px;border-radius:50%;font-size:12px;color:#666;cursor:pointer}.d-search .d-search-mic{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;border-radius:50%;background:transparent;color:#8a8a8a;cursor:pointer;transition:color .15s,background .15s,transform .15s}.d-search .d-search-mic svg{display:block}.d-search .d-search-mic:hover{color:#2d8a3e;background:#eef4ef}.d-search .d-search-mic.on{color:#e05252;background:#fdeeee;animation:d-mic-pulse 1.2s ease-in-out infinite}.d-search .d-search-mic.loading{cursor:default;color:#2d8a3e;background:#eef4ef}.d-search .d-search-mic.loading svg{animation:d-mic-spin 1s linear infinite}.d-search .d-search-mic:disabled{cursor:default}.d-search .d-search-box.listening{box-shadow:0 0 0 1.5px #e05252 inset}@keyframes d-mic-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes d-mic-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.d-voice-tip{margin:0 12px 4px;padding:6px 12px;border-radius:10px;background:#f0faf3;color:#2d8a3e;font-size:12px;line-height:1.4}.d-voice-tip.error{background:#fef2f2;color:#c0392b}.d-toolbar{display:flex;align-items:center;gap:8px;padding:0 12px 10px;width:100%;box-sizing:border-box}.d-tool-btn{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:6px 12px;background:#fff;border:1px solid #e8e8e8;border-radius:16px;font-size:12px;color:#555;cursor:pointer;transition:all .2s}.d-tool-btn svg{display:block;flex-shrink:0}.d-tool-btn:hover{border-color:#2d8a3e;color:#2d8a3e}.d-tool-btn.on{border-color:#2d8a3e;color:#2d8a3e;background:#f2faf4;font-weight:600}.d-tool-btn.d-tool-sort{position:relative;padding-right:10px;max-width:52%}.d-tool-btn .d-tool-sort-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.d-tool-btn .d-tool-caret{flex-shrink:0;font-size:10px;color:#9aa79c;margin-left:2px}.d-tool-btn .d-tool-badge{min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#2d8a3e;color:#fff;font-size:10px;font-style:normal;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.d-tool-count{margin-left:auto;flex-shrink:0;font-size:11px;color:#999;white-space:nowrap}.d-active{display:flex;align-items:center;gap:6px;padding:0 12px 10px;width:100%;box-sizing:border-box;overflow-x:auto;scrollbar-width:none}.d-active::-webkit-scrollbar{display:none}.d-active .d-active-chip{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#f2faf4;border:1px solid #cfe7d4;border-radius:12px;font-size:11px;color:#2d8a3e;cursor:pointer}.d-active .d-active-chip i{font-style:normal;font-size:10px;color:#7aa381}.d-active .d-active-clear{flex-shrink:0;padding:4px 8px;background:transparent;border:none;font-size:11px;color:#999;text-decoration:underline;cursor:pointer}.d-sheet-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#00000080;display:flex;align-items:flex-end;justify-content:center;animation:modalFadeIn .18s ease-out}.d-sheet{position:relative;width:100%;max-width:480px;max-height:84vh;background:#fff;border-radius:18px 18px 0 0;display:flex;flex-direction:column;animation:d-sheet-up .26s cubic-bezier(.22,1,.36,1)}.d-sheet--sort{max-height:70vh}@keyframes d-sheet-up{0%{transform:translateY(24px)}to{transform:translateY(0)}}.d-sheet-grip{width:36px;height:4px;border-radius:2px;background:#e3e6e4;margin:8px auto 0;flex-shrink:0}.d-sheet-head{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:10px 18px 8px;border-bottom:1px solid #f3f4f3}.d-sheet-head h3{margin:0;font-size:16px;font-weight:600;color:#1a1a1a}.d-sheet-close{width:28px;height:28px;border:none;border-radius:50%;background:transparent;color:#999;font-size:16px;cursor:pointer}.d-sheet-close:active{background:#f3f4f3}.d-sheet-body{flex:1;min-height:0;overflow-y:auto;padding:8px 18px 16px;-webkit-overflow-scrolling:touch}.d-sheet-foot{flex-shrink:0;display:flex;gap:10px;padding:10px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #f3f4f3}.d-sheet-reset,.d-sheet-apply{height:42px;border:none;border-radius:21px;font-size:14px;font-weight:600;cursor:pointer}.d-sheet-reset:active,.d-sheet-apply:active{transform:scale(.97)}.d-sheet-reset{flex:0 0 96px;background:#f4f5f5;color:#666}.d-sheet-apply{flex:1;background:linear-gradient(135deg,#2d8a3e,#52b566);color:#fff;box-shadow:0 4px 12px #2d8a3e40}.d-filter-block{padding:12px 0;border-bottom:1px solid #f7f8f7}.d-filter-block:last-child{border-bottom:none}.d-filter-block-head{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}.d-filter-block-head .d-filter-block-title{font-size:13px;font-weight:600;color:#333}.d-filter-block-head .d-filter-block-hint{font-size:10px;color:#a3a3a3}.d-chip-group{display:flex;flex-wrap:wrap;gap:8px}.d-opt-chip{padding:7px 12px;background:#f7f8f7;border:1px solid transparent;border-radius:15px;font-size:12px;color:#555;cursor:pointer;transition:all .18s}.d-opt-chip:hover{background:#eef5ef;color:#2d8a3e}.d-opt-chip.active{background:#e9f6ec;border-color:#2d8a3e;color:#2d8a3e;font-weight:600}.d-sort-list{overflow-y:auto;padding:6px 12px calc(12px + env(safe-area-inset-bottom))}.d-sort-item{width:100%;display:flex;align-items:center;gap:10px;padding:12px 8px;background:transparent;border:none;border-bottom:1px solid #f7f8f7;text-align:left;cursor:pointer}.d-sort-item:last-child{border-bottom:none}.d-sort-item:active{background:#f7f8f7}.d-sort-item .d-sort-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.d-sort-item .d-sort-item-main b{font-size:14px;font-weight:500;color:#333}.d-sort-item .d-sort-item-main i{font-style:normal;font-size:11px;color:#a0a0a0}.d-sort-item .d-sort-check{flex-shrink:0;font-size:16px;color:#2d8a3e;font-weight:700}.d-sort-item.active b{color:#2d8a3e;font-weight:600}.d-empty-reset{margin-top:12px;padding:7px 18px;background:#fff;border:1px solid #2d8a3e;border-radius:16px;font-size:12px;color:#2d8a3e;cursor:pointer}.d-empty-reset:active{background:#f2faf4}.d-quick-entries{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:8px 12px 12px;background:#fff}.d-quick-entries .d-quick-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;background:#f8f9fa;border-radius:12px;border:none;cursor:pointer;transition:background .15s,box-shadow .2s,transform .2s}.d-quick-entries .d-quick-item:hover{background:#e8f5e9;box-shadow:0 4px 12px #2e7d3226;transform:translateY(-2px)}.d-quick-entries .d-quick-item:hover .d-quick-icon{transform:scale(1.15)}.d-quick-entries .d-quick-item:hover .d-quick-label{color:#2e7d32}.d-quick-entries .d-quick-item:active{background:#eef0f2}.d-quick-entries .d-quick-item .d-quick-icon{font-size:24px;line-height:1;transition:transform .2s}.d-quick-entries .d-quick-item .d-quick-label{font-size:12px;color:#555;font-weight:500;transition:color .2s}.d-news{margin:12px;background:#fff;border-radius:12px;padding:12px;box-shadow:0 2px 8px #0000000f}.d-news .d-news-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.d-news .d-news-head .d-news-title{font-size:15px;font-weight:600;color:#222;margin:0}.d-news .d-news-head .d-news-more{font-size:12px;color:#2e7d32;cursor:pointer}.d-news .d-news-list{display:flex;flex-direction:column;gap:8px}.d-news .d-news-item{display:flex;align-items:flex-start;gap:6px;padding:6px 0;cursor:pointer;font-size:13px;color:#444;line-height:1.5}.d-news .d-news-item:active{opacity:.6}.d-news .d-news-item .d-news-cat{flex-shrink:0;font-size:11px;font-weight:600}.d-news .d-news-item .d-news-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.d-ai-entry{display:flex;align-items:center;gap:10px;width:calc(100% - 24px);margin:0 12px 10px;padding:10px 14px;border:none;border-radius:14px;background:linear-gradient(135deg,#e8f5ea,#f3faf4);border-left:3px solid #2d8a3e;cursor:pointer;text-align:left;box-sizing:border-box}.d-ai-entry .d-ai-icon{flex-shrink:0;width:40px;height:40px}.d-ai-entry .d-ai-icon svg{width:100%;height:100%}.d-ai-entry .d-ai-text{flex:1;min-width:0}.d-ai-entry .d-ai-text b{display:block;font-size:14px;color:#2d8a3e}.d-ai-entry .d-ai-text i{display:block;margin-top:1px;font-style:normal;font-size:11px;color:#7aa381}.d-ai-entry .d-ai-arrow{font-size:20px;color:#9bbf9f}.d-hero{position:relative;margin:0 12px 10px;border-radius:16px;overflow:hidden;box-shadow:0 4px 16px #0000001f}.d-hero-slider{position:relative;height:200px}.d-hero-slide{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .6s ease;cursor:pointer}.d-hero-slide.active{opacity:1;z-index:1}.d-hero-slide img{width:100%;height:100%;object-fit:cover;display:block}.d-hero-slide .hero-ph{width:100%;height:100%;background:linear-gradient(135deg,#2d8a3e,#52b566);color:#fff;display:flex;align-items:center;justify-content:center;font-size:56px}.d-hero-slide .d-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000 40%,#000000a6);pointer-events:none}.d-hero-slide .d-hero-caption{position:absolute;left:16px;right:16px;bottom:12px;z-index:3;color:#fff}.d-hero-slide .d-hero-caption .d-hero-title{font-size:16px;font-weight:700;line-height:1.3;text-shadow:0 1px 4px rgba(0,0,0,.5);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.d-hero-slide .d-hero-caption .d-hero-meta{font-size:12px;opacity:.9;margin-top:4px}.d-hero-arrow{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;border:none;background:#ffffff40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:20px;font-weight:300;line-height:1;cursor:pointer;opacity:0;transition:opacity .3s,background .2s;z-index:4}.d-hero-arrow.prev{left:8px}.d-hero-arrow.next{right:8px}.d-hero:hover .d-hero-arrow{opacity:1}.d-hero-arrow:active{background:#ffffff80}.d-hero-dots{position:absolute;bottom:6px;left:50%;transform:translate(-50%);display:flex;gap:6px;z-index:5}.d-hero-dots .d-dot{width:6px;height:6px;border-radius:3px;border:none;background:#ffffff80;cursor:pointer;padding:0;transition:background .2s,width .3s}.d-hero-dots .d-dot.active{width:18px;background:#fff}.d-filters{display:flex;gap:6px;padding:10px 12px;width:100%;box-sizing:border-box}.d-filters .d-filter{flex:1 1 0;min-width:0;position:relative;padding:6px 4px;background:#fff;border:1px solid #e8e8e8;border-radius:14px;font-size:11px;color:#555;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-flex;align-items:center;justify-content:center;gap:2px;transition:all .2s}.d-filters .d-filter:hover{border-color:#2d8a3e;color:#2d8a3e}.d-filters .d-filter .d-filter-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;font-size:11px;line-height:1;color:#d4a017;padding:0 1px 0 0}.d-filters .d-filter .d-filter-badge .star-badge{position:absolute;top:-4px;right:-6px;background:#d4a017;color:#fff;font-size:7px;min-width:9px;height:9px;padding:0 1px;border-radius:4px;display:flex;align-items:center;justify-content:center;line-height:1;font-weight:600}.d-filters .d-filter.active{background:linear-gradient(135deg,#2d8a3e,#52b566);border-color:#2d8a3e;color:#fff;font-weight:600;box-shadow:0 2px 8px #2d8a3e4d}.d-filters .d-filter.active .d-filter-badge{color:#ffe066}.d-filters .d-filter.active .d-filter-badge .star-badge{background:#ffe066;color:#2d8a3e;box-shadow:0 0 0 1px #2d8a3e}@keyframes d-sk-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.d-hero-skeleton .d-hero-slider{background:linear-gradient(90deg,#e6ebe7 25%,#f4f8f5 37%,#e6ebe7 63%);background-size:200% 100%;animation:d-sk-shimmer 1.4s ease-in-out infinite}.d-hero-skeleton .d-sk-hero-caption{position:absolute;left:16px;right:16px;bottom:14px;z-index:2;display:flex;flex-direction:column;gap:7px}.d-hero-skeleton .d-sk-bar{height:11px;border-radius:5px;background:#ffffff6b}.d-card-skeleton{cursor:default}.d-card-skeleton:hover{transform:none;box-shadow:0 2px 8px #0000000f}.d-card-skeleton:active{transform:none}.d-card-skeleton .d-sk-img{width:100%;height:110px;background:linear-gradient(90deg,#edf1ee 25%,#f7faf7 37%,#edf1ee 63%);background-size:200% 100%;animation:d-sk-shimmer 1.4s ease-in-out infinite}.d-card-skeleton .d-sk-body{padding:12px;display:flex;flex-direction:column;gap:9px}.d-card-skeleton .d-sk-bar{display:block;height:10px;border-radius:5px;background:linear-gradient(90deg,#edf1ee 25%,#f7faf7 37%,#edf1ee 63%);background-size:200% 100%;animation:d-sk-shimmer 1.4s ease-in-out infinite}.d-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:12px}.d-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f;cursor:pointer;transition:transform .2s,box-shadow .2s}.d-card:hover{transform:translateY(-3px);box-shadow:0 6px 16px #0000001f}.d-card:hover .d-card-img{transform:scale(1.05)}.d-card:active{transform:scale(.97)}.d-card .d-card-img{width:100%;height:110px;object-fit:cover;display:block;transition:transform .25s ease}.d-card .d-card-ph{width:100%;height:110px;display:flex;align-items:center;justify-content:center;font-size:36px;background:#f0faf3}.d-card .d-card-body{padding:10px 12px 12px}.d-card .d-card-title{font-size:13px;font-weight:600;color:#222;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 4px}.d-card .d-card-meta{font-size:11px;color:#999;margin-bottom:4px}.d-card .d-card-drive{font-size:10px;color:#2d8a3e;background:#f1f8f2;border-radius:4px;padding:1px 6px;display:inline-block;margin-bottom:4px}.d-card .d-card-stats{font-size:11px;color:#666;display:flex;gap:8px;flex-wrap:wrap}.d-card .d-card-stats .diff{color:#f59e0b;font-weight:500}.d-card .d-card-dims{font-size:10px;color:#888;margin-top:2px;display:flex;gap:6px;flex-wrap:wrap}.d-loading,.d-empty{text-align:center;padding:60px 20px;color:#999;font-size:13px}.d-empty-icon{font-size:40px;margin-bottom:8px;display:block}.d-end{text-align:center;padding:20px 20px 28px;color:#ccc;font-size:12px;letter-spacing:.5px}.d-more{text-align:center;padding:16px 20px 24px}.d-more button{padding:8px 22px;background:#fff;border:1px solid #2d8a3e;color:#2d8a3e;border-radius:18px;font-size:13px;cursor:pointer;transition:all .2s}.d-more button:hover{background:#2d8a3e;color:#fff}.d-ad-banner{margin:0 12px 10px;border-radius:16px;overflow:hidden;background:#f5f5f5;box-shadow:0 4px 16px #0000001f;width:auto}.d-ad-banner .ad-banner{display:block;position:relative;width:100%;text-decoration:none}.d-ad-banner .ad-banner-img{display:block;width:100%;height:auto;max-height:180px;object-fit:cover}.d-ad-banner .ad-banner-text{padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:15px;font-weight:500;text-align:center}.d-ad-banner .ad-banner .ad-sponsor-tag{position:absolute;bottom:8px;right:8px;background:#00000080;color:#fff;font-size:11px;padding:3px 8px;border-radius:4px}.d-ad-sponsors{margin:0 12px 10px;width:auto}.d-ad-sponsors-panel{padding:20px 16px;background:linear-gradient(135deg,#fafbff,#f0f4ff);border-radius:16px;border:1px solid #eef2f7;box-shadow:0 2px 8px #0000000a}.d-ad-sponsors-panel-label{font-size:14px;color:#666;margin-bottom:16px;text-align:center;letter-spacing:1.5px;font-weight:600}.d-ad-sponsors-panel-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px}.d-ad-sponsor-item{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:10px 20px;border-radius:12px;background:#fff;border:1px solid #e8e8e8;text-decoration:none;color:#222;font-size:15px;font-weight:500;transition:all .2s}.d-ad-sponsor-item img{max-height:38px;max-width:140px;object-fit:contain}.d-ad-sponsor-item:hover{border-color:#667eea;color:#667eea;transform:translateY(-2px);box-shadow:0 6px 16px #667eea38}.ad-slot{display:block}.rg-detail{padding-bottom:24px}.rg-cover img{width:100%;height:220px;object-fit:cover;display:block}.rg-cover .cover-ph{width:100%;height:180px;background:linear-gradient(135deg,#2d8a3e,#52b566);color:#fff;display:flex;align-items:center;justify-content:center;font-size:64px}.rg-header{padding:16px 16px 12px;background:#fff}.rg-header h1{font-size:19px;font-weight:700;color:#222;margin:0 0 6px;line-height:1.35}.rg-header .rg-meta{font-size:12px;color:#888;display:flex;gap:12px;margin-bottom:8px}.rg-header .rg-author-link{color:#2e7d32;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.rg-header .rg-tags{display:flex;gap:4px;flex-wrap:wrap;font-size:11px}.rg-header .rg-tags .tag{background:#f0faf3;color:#2d8a3e;padding:3px 8px;border-radius:10px;max-width:100%;word-break:break-all;line-height:1.5}.rg-header .rg-tags .tag.diff{background:#fffbeb;color:#f59e0b;font-weight:600;white-space:nowrap}.rg-card{margin:12px;padding:14px 16px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}.rg-card .card-title{font-size:15px;font-weight:700;color:#222;margin-bottom:10px;padding-left:8px;border-left:3px solid #2d8a3e}.rg-card .sub-label{font-size:12px;color:#999;margin:10px 0 4px}.rg-card p{font-size:13px;color:#555;line-height:1.8;margin:0}.rg-card.safety{background:#fff7ed}.rg-card.safety p{color:#c2410c}.hl-grid{display:flex;flex-direction:column;gap:4px}.hl-grid .hl-item{font-size:13px;color:#333;line-height:1.6}.route-details p{white-space:pre-wrap}.rg-content p{text-indent:2em;margin-bottom:6px}.distance-bar{display:flex;align-items:center;gap:8px;background:#e8f5e9;border:1px solid #c8e6c9;border-radius:10px;padding:12px 14px;margin-bottom:12px;font-size:13px;color:#333}.distance-bar .distance-icon{font-size:16px;flex-shrink:0}.distance-bar .distance-text{line-height:1.5}.distance-bar .distance-text strong{color:#2d8a3e;font-weight:600}.distance-bar .distance-tolls{color:#888;font-size:12px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.info-grid-item{background:#f0faf3;border-radius:10px;padding:12px 14px}.info-grid-item .info-grid-label{font-size:12px;font-weight:600;color:#2d8a3e;margin-bottom:6px;letter-spacing:.5px}.info-grid-item .info-grid-content{font-size:13px;line-height:1.7;color:#555}.info-grid-item .info-grid-content p{margin:0 0 3px}.equip-safety-grid{display:flex;flex-direction:column;gap:14px}.col-title{margin:0 0 8px;font-size:13px;font-weight:600;color:#2d8a3e;letter-spacing:.5px}.equip-list{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}.equip-list li{font-size:12.5px;padding:4px 10px;background:#fff;border:1px solid #bfe6c8;border-radius:14px;color:#2d8a3e}.rg-tips-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.rg-tips-list li{font-size:13.5px;padding:10px 14px 10px 32px;background:#f0faf3;border-radius:8px;color:#555;position:relative;line-height:1.6}.rg-tips-list li:before{content:"💡";position:absolute;left:10px;top:9px;font-size:13px}.safety-note{display:flex;gap:10px;padding:12px 14px;background:#fff9e8;border:1px solid #ffe066;border-radius:10px}.safety-note .safety-icon{font-size:22px;flex-shrink:0}.safety-note p{margin:0;font-size:13.5px;line-height:1.7;color:#8a5a00}.review-gallery{position:relative;margin-bottom:14px;border-radius:10px;overflow:hidden;background:#000}.review-gallery img{width:100%;height:220px;object-fit:cover;display:block}.review-gallery .rg-btn{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;background:#0000008c;border:none;color:#fff;font-size:22px;line-height:30px;text-align:center;cursor:pointer;padding:0;z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.review-gallery .rg-btn.rg-prev{left:8px}.review-gallery .rg-btn.rg-next{right:8px}.review-gallery .rg-dots{position:absolute;bottom:10px;left:50%;transform:translate(-50%);display:flex;gap:5px;z-index:2}.review-gallery .rg-dots .rg-dot{width:6px;height:6px;border-radius:50%;background:#ffffff80;cursor:pointer}.review-gallery .rg-dots .rg-dot.rg-dot-active{background:#fff;transform:scale(1.4)}.review-gallery .rg-counter{position:absolute;top:10px;right:10px;background:#00000080;color:#fff;font-size:11px;padding:3px 8px;border-radius:10px;z-index:2}.review-text p{margin:0 0 8px;font-size:14px;line-height:1.95;color:#555;text-indent:0}.review-text.review-html img{width:100%;max-width:100%;height:auto;border-radius:8px;margin:8px 0;display:block}.review-text.review-html h1,.review-text.review-html h2,.review-text.review-html h3,.review-text.review-html h4{margin:12px 0 8px;font-weight:600;color:#2e4a36;line-height:1.4}.review-text.review-html ul,.review-text.review-html ol{margin:0 0 8px;padding-left:20px;color:#555;font-size:14px;line-height:1.9}.review-text.review-html blockquote{margin:8px 0;padding:8px 12px;border-left:3px solid #9ccc9f;background:#ffffff80;color:#4a6b53}.review-text.review-html a{color:#2e7d32}.review-text.review-html p:last-child{margin-bottom:0}.rg-bottom-bar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;box-sizing:border-box;background:#fff;padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px;box-shadow:0 -2px 12px #00000014;z-index:50}.rg-bottom-bar .bb-stats{display:flex;gap:14px;flex:1}.rg-bottom-bar .bb-stats .bb-stat{text-align:center}.rg-bottom-bar .bb-stats .bb-stat .bb-num{font-size:17px;font-weight:700;color:#2d8a3e}.rg-bottom-bar .bb-stats .bb-stat .bb-lbl{font-size:10px;color:#999}.rg-bottom-bar .bb-btn{padding:11px 24px;border-radius:24px;font-size:14px;font-weight:600;border:none;cursor:pointer;text-decoration:none}.rg-bottom-bar .bb-btn.primary{background:linear-gradient(135deg,#2d8a3e,#52b566);color:#fff}.rg-bottom-bar .bb-btn.disabled{background:#adb5bd;color:#fff;cursor:not-allowed}.loading,.empty{text-align:center;padding:80px 20px;color:#999}.nav-dest-bar{margin-top:12px;padding:12px 14px;background:linear-gradient(135deg,#e8f5e9,#fff3e0);border:1px solid #c8e6c9;border-radius:12px}.nav-dest-title{font-size:13px;font-weight:700;color:#2e7d32;margin-bottom:10px}.nav-dest-rows{display:flex;flex-direction:column;gap:8px}.nav-dest-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.nav-dest-label{font-size:13px;font-weight:600;color:#5d4037;white-space:nowrap}.nav-dest-btns{display:flex;gap:8px;flex-shrink:0}.nav-btn{display:inline-flex;align-items:center;justify-content:center;min-width:56px;padding:7px 14px;border:none;border-radius:8px;font-family:inherit;font-size:13px;font-weight:700;text-decoration:none;color:#fff;cursor:pointer;box-shadow:0 2px 6px #0000001f;transition:transform .15s ease,box-shadow .15s ease}.nav-btn:active{transform:scale(.95)}.nav-btn-copy{min-width:0;padding:7px 10px;background:#f5f7f5;border:1px solid #dbe4dc;color:#5d7a62;font-size:12px;font-weight:500;box-shadow:none}.nav-btn-copy:hover{background:#eef3ef}.nav-btn-amap{background:linear-gradient(135deg,#1976d2,#1565c0)}.nav-btn-amap:hover{background:linear-gradient(135deg,#1565c0,#0d47a1)}.nav-btn-bdmap{background:linear-gradient(135deg,#ff6f00,#e65100)}.nav-btn-bdmap:hover{background:linear-gradient(135deg,#e65100,#bf360c)}.rg-source-card{padding-top:10px;padding-bottom:10px}.rg-source-card .rg-source-row{display:flex;align-items:center;font-size:12px;line-height:1.8}.rg-source-card .rg-source-row+.rg-source-row{margin-top:4px}.rg-source-card .rg-source-label{color:#888;flex-shrink:0}.rg-source-card .rg-source-link{color:#2d6a4f;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rg-source-card .rg-source-link:active{opacity:.7}.rg-articles-card .rg-articles-list{display:flex;flex-direction:column;gap:8px}.rg-articles-card .rg-article-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#f8f9fa;border-radius:8px;text-decoration:none;transition:background .15s}.rg-articles-card .rg-article-item:active{background:#e9ecef}.rg-articles-card .rg-article-title{flex:1;min-width:0;font-size:13px;color:#343a40;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.rg-articles-card .rg-article-source{flex-shrink:0;font-size:11px;color:#2d6a4f;background:#d8f3dc;padding:2px 8px;border-radius:10px}.rg-comments .cmt-input-row{margin-bottom:16px}.rg-comments .cmt-replying{font-size:12px;color:#2d6a4f;background:#d8f3dc;border-radius:6px;padding:4px 10px;margin-bottom:8px;display:inline-flex;align-items:center;gap:6px}.rg-comments .cmt-replying .cmt-cancel-reply{background:none;border:none;color:#666;cursor:pointer;font-size:12px;padding:0 2px}.rg-comments .cmt-input-wrap{display:flex;gap:8px}.rg-comments .cmt-input-wrap .cmt-input{flex:1;border:1px solid #dee2e6;border-radius:20px;padding:8px 14px;font-size:13px;outline:none}.rg-comments .cmt-input-wrap .cmt-input:focus{border-color:#2d6a4f}.rg-comments .cmt-input-wrap .cmt-send{background:#2d6a4f;color:#fff;border:none;border-radius:20px;padding:0 16px;font-size:13px;cursor:pointer}.rg-comments .cmt-input-wrap .cmt-send:disabled{background:#adb5bd;cursor:not-allowed}.rg-comments .cmt-empty{text-align:center;color:#adb5bd;font-size:13px;padding:20px 0}.rg-comments .cmt-list{display:flex;flex-direction:column;gap:14px}.rg-comments .cmt-item{display:flex;gap:10px}.rg-comments .cmt-item .cmt-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;background:#e9ecef}.rg-comments .cmt-item .cmt-body{flex:1;min-width:0}.rg-comments .cmt-item .cmt-name{font-size:13px;font-weight:500;color:#495057;margin-bottom:2px}.rg-comments .cmt-item .cmt-name .cmt-reply-to{font-weight:400;color:#868e96;font-size:12px;margin-left:6px}.rg-comments .cmt-item .cmt-content{font-size:14px;color:#212529;line-height:1.5;word-break:break-word}.rg-comments .cmt-item .cmt-meta{margin-top:4px}.rg-comments .cmt-item .cmt-meta .cmt-reply-btn{background:none;border:none;color:#868e96;font-size:12px;cursor:pointer;padding:0}.rg-comments .cmt-item .cmt-meta .cmt-reply-btn:hover{color:#2d6a4f}.rg-comments .cmt-item .cmt-children{margin-top:10px;padding-left:10px;border-left:2px solid #e9ecef;display:flex;flex-direction:column;gap:10px}.rg-comments .cmt-item.cmt-reply .cmt-avatar{width:24px;height:24px}.bb-action{background:none;border:none;cursor:pointer;padding:0}.bb-action.bb-active-like .bb-lbl,.bb-action.bb-active-fav .bb-lbl,.bb-action.bb-active-follow .bb-lbl{color:#e03131}.bb-action.bb-active-fav .bb-lbl{color:#f59f00}.bb-action.bb-active-follow .bb-lbl{color:#2d6a4f}.rg-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000eb;z-index:9999;display:flex;align-items:center;justify-content:center}.rg-lightbox img{max-width:94vw;max-height:88vh;object-fit:contain;border-radius:4px}.rg-lightbox .rg-lb-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:none;background:#ffffff26;color:#fff;font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.rg-lightbox .rg-lb-btn:hover{background:#ffffff4d}.rg-lightbox .rg-lb-prev{left:12px}.rg-lightbox .rg-lb-next{right:12px}.rg-lightbox .rg-lb-counter{position:absolute;bottom:20px;left:50%;transform:translate(-50%);color:#ffffffd9;font-size:13px;background:#0006;padding:3px 12px;border-radius:12px}.rg-lightbox .rg-lb-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;border:none;background:#ffffff26;color:#fff;font-size:16px;cursor:pointer}.rg-lightbox .rg-lb-close:hover{background:#ffffff4d}.rg-review-card{background:linear-gradient(160deg,#f0f7ee,#e8f3e8 40%,#f7f5ef);border:1px solid rgba(45,106,79,.12);position:relative;overflow:hidden}.rg-review-card:before{content:"";position:absolute;top:-40px;right:-40px;width:160px;height:160px;background:radial-gradient(circle,rgba(116,198,157,.15) 0%,transparent 70%);pointer-events:none}.rg-review-card:after{content:"";position:absolute;bottom:-30px;left:-30px;width:140px;height:140px;background:radial-gradient(circle,rgba(216,243,220,.5) 0%,transparent 70%);pointer-events:none}.rg-review-card .card-title{color:#2d6a4f}.rg-review-card .rg-vine{position:absolute;width:120px;height:120px;pointer-events:none;z-index:0}.rg-review-card .rg-vine-tl{top:0;left:0}.rg-review-card .rg-vine-br{bottom:0;right:0}.rg-review-card .card-title,.rg-review-card .review-gallery,.rg-review-card .review-text{position:relative;z-index:1}.rg-review-card .review-text p{color:#3d5a45;line-height:2;letter-spacing:.02em;font-family:PingFang SC,HarmonyOS Sans SC,MiSans,Source Han Sans SC,Microsoft YaHei,sans-serif;font-size:14.5px}.rg-review-card .review-text{padding-bottom:48px}@keyframes rg-snowfall{0%{transform:translateY(-8px);opacity:0}12%{opacity:.9}85%{opacity:.7}to{transform:translateY(280px);opacity:.1}}.rg-snow-dot{position:absolute;top:0;width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 4px #a5d8ffe6;animation:rg-snowfall 5.5s linear infinite;pointer-events:none;z-index:0}.rg-share-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:9000;display:flex;align-items:flex-end;justify-content:center}.rg-share-panel{width:100%;max-width:480px;background:#fff;border-radius:18px 18px 0 0;padding:18px 20px calc(20px + env(safe-area-inset-bottom));animation:rg-share-up .25s ease-out}@keyframes rg-share-up{0%{transform:translateY(60px);opacity:0}to{transform:translateY(0);opacity:1}}.rg-share-header{display:flex;align-items:center;justify-content:space-between;font-size:15px;font-weight:600;color:#212529;margin-bottom:14px}.rg-share-header .rg-share-close{border:none;background:#f1f3f5;width:28px;height:28px;border-radius:50%;color:#868e96;cursor:pointer;font-size:13px}.rg-share-qr{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 0}.rg-share-qr .rg-share-qr-tip{font-size:12px;color:#868e96}.rg-share-url{font-size:12px;color:#adb5bd;background:#f8f9fa;border-radius:8px;padding:8px 12px;margin:4px 0 14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rg-share-actions{display:flex;gap:10px}.rg-share-actions .rg-share-btn{flex:1;border:1px solid #dee2e6;background:#fff;border-radius:22px;padding:11px 0;font-size:14px;color:#495057;cursor:pointer}.rg-share-actions .rg-share-btn.primary{background:#2d6a4f;border-color:#2d6a4f;color:#fff}.rg-share-actions .rg-share-btn:active{opacity:.8}.feed-page{padding-bottom:16px}.feed-page .feed-compose-btn{font-size:13px;color:#2e7d32;padding:4px 10px;border-radius:14px;background:#e8f5e9;font-weight:500;border:none;cursor:pointer}.feed-page .feed-compose-btn:active{background:#c8e6c9}.f-loading,.f-empty{text-align:center;padding:60px 20px;color:#999;font-size:14px}.f-empty-icon{font-size:42px;margin-bottom:8px}.feed-list{padding:8px;display:flex;flex-direction:column;gap:8px}.feed-item{background:#fff;border-radius:12px;padding:14px;box-shadow:0 1px 6px #0000000a;transition:box-shadow .2s}.feed-item:hover{box-shadow:0 3px 12px #00000017}.f-user{display:flex;align-items:center;gap:10px;margin-bottom:10px}.f-user .f-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#2d8a3e,#52b566);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.f-user .f-user-meta{flex:1}.f-user .f-nickname{font-size:13px;font-weight:600;color:#222}.f-user .f-time{font-size:11px;color:#aaa;margin-top:2px}.f-content{font-size:14px;color:#333;line-height:1.7;white-space:pre-wrap;word-break:break-word}.f-images{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:10px}.f-images img{width:100%;height:100px;object-fit:cover;border-radius:6px;cursor:pointer;transition:transform .15s,opacity .15s}.f-images img:hover{opacity:.85;transform:scale(.98)}.f-loc{font-size:12px;color:#888;margin-top:8px}.f-actions{display:flex;gap:16px;margin-top:10px;padding-top:10px;border-top:1px solid #f5f5f5}.f-actions .f-like,.f-actions .f-comments{background:none;border:none;font-size:13px;color:#666;cursor:pointer;padding:0}.f-actions .f-like.has-likes,.f-actions .f-comments.has-likes{color:#e11d48}.compose-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:2100;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}.compose-box{width:100%;max-width:520px;box-sizing:border-box;background:#fff;border-radius:18px;padding:20px;box-shadow:0 16px 48px #00000040;animation:composeIn .2s ease-out}@keyframes composeIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.compose-title{font-size:16px;font-weight:700;text-align:center;margin-bottom:14px;position:relative}.compose-title .compose-close{position:absolute;right:-4px;top:-4px;width:28px;height:28px;border:none;background:#f5f5f5;border-radius:50%;font-size:16px;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center}.compose-title .compose-close:hover{background:#eee;color:#333}.compose-box textarea{width:100%;height:120px;border:1px solid #eee;background:#fafafa;border-radius:10px;padding:12px;font-size:14px;outline:none;resize:none;box-sizing:border-box;font-family:inherit;transition:border-color .15s}.compose-box textarea:focus{border-color:#52b566;background:#fff}.compose-images{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.compose-images .ci-item{aspect-ratio:1;border-radius:10px;overflow:hidden;position:relative;background:#f5f5f5}.compose-images .ci-item img{width:100%;height:100%;object-fit:cover}.compose-images .ci-item .ci-del{position:absolute;top:4px;right:4px;width:22px;height:22px;background:#0009;border:none;border-radius:50%;color:#fff;font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.compose-images .ci-item .ci-del:hover{background:#e74c3c}.compose-images .ci-item .ci-loading{position:absolute;top:0;right:0;bottom:0;left:0;background:#fffc;display:flex;align-items:center;justify-content:center;font-size:11px;color:#888}.compose-images .ci-add{aspect-ratio:1;border:1.5px dashed #d0d0d0;border-radius:10px;background:#fafafa;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#aaa;font-size:11px;transition:all .15s}.compose-images .ci-add:hover{border-color:#52b566;color:#52b566;background:#f0faf2}.compose-images .ci-add .ci-add-plus{font-size:24px;line-height:1}.img-modal-mask{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:3000;animation:fadeIn .15s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.img-modal{width:320px;background:#fff;border-radius:14px;padding:20px 20px 14px;box-shadow:0 12px 40px #00000040;animation:popUp .2s ease-out}@keyframes popUp{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.img-modal-title{font-size:16px;font-weight:600;color:#222;text-align:center;margin-bottom:4px}.img-modal-desc{font-size:12px;color:#999;text-align:center;margin-bottom:16px}.img-modal-opts{display:flex;gap:12px;margin-bottom:14px}.img-opt{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 8px;border:1.5px solid #e5e5e5;background:#fafafa;border-radius:12px;cursor:pointer;transition:all .18s}.img-opt:hover{border-color:#52b566;background:#f0faf2;transform:translateY(-2px);box-shadow:0 4px 12px #52b56626}.img-opt .img-opt-icon{font-size:32px;line-height:1}.img-opt .img-opt-label{font-size:13px;font-weight:600;color:#333}.img-opt .img-opt-hint{font-size:10px;color:#999}.img-modal-cancel{width:100%;padding:10px;border:none;background:#f5f5f5;border-radius:8px;font-size:13px;color:#888;cursor:pointer;transition:background .15s}.img-modal-cancel:hover{background:#eee}.lb-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;z-index:9999;display:flex;align-items:center;justify-content:center;animation:fadeIn .18s ease-out;cursor:zoom-out}.lb-img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:6px;box-shadow:0 20px 60px #00000080;animation:popIn .18s ease-out;cursor:default}.lb-close{position:absolute;top:16px;right:20px;width:36px;height:36px;border:none;background:#ffffff26;color:#fff;border-radius:50%;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.lb-close:hover{background:#ffffff4d}.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:none;background:#ffffff26;color:#fff;border-radius:50%;font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.lb-nav:hover{background:#ffffff4d}.lb-prev{left:20px}.lb-next{right:20px}.lb-counter{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:#ffffff26;color:#fff;font-size:13px;padding:4px 12px;border-radius:14px}.compose-footer{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.compose-footer .compose-count{font-size:12px;color:#bbb}.compose-footer .compose-btns{display:flex;gap:10px}.compose-footer .btn-cancel{padding:8px 18px;background:#f5f5f5;border:none;border-radius:16px;font-size:13px;color:#666;cursor:pointer}.compose-footer .btn-submit{padding:8px 22px;background:linear-gradient(135deg,#2d8a3e,#52b566);color:#fff;border:none;border-radius:16px;font-size:13px;font-weight:600;cursor:pointer}.compose-footer .btn-submit:disabled{opacity:.5;cursor:not-allowed}.compose-toolbar{display:flex;align-items:center;gap:6px;margin-bottom:8px}.compose-toolbar .ctb-group{position:relative;display:inline-flex;align-items:center;gap:3px}.compose-toolbar .ctb{padding:6px 10px 6px 14px;border:1px solid #e5e5e5;background:#fafafa;border-radius:16px;font-size:12px;color:#666;cursor:pointer;transition:all .15s;white-space:nowrap;display:inline-flex;align-items:center;gap:3px}.compose-toolbar .ctb:hover{border-color:#52b566;color:#52b566}.compose-toolbar .ctb.active{border-color:#52b566;background:#f0faf2;color:#2d8a3e;font-weight:600}.compose-toolbar .ctb-help{width:12px;height:12px;border-radius:50%;background:#ddd;color:#fff;font-size:8px;font-weight:700;line-height:12px;text-align:center;flex-shrink:0;transition:all .15s;cursor:pointer}.compose-toolbar .ctb-help:hover{background:#2d8a3e}.compose-toolbar .help-bubble{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:180px;max-width:240px;padding:8px 12px;background:#333;color:#fff;font-size:12px;line-height:1.5;border-radius:8px;box-shadow:0 4px 12px #0003;z-index:100;text-align:left}.compose-toolbar .help-bubble:before{content:"";position:absolute;top:-5px;left:50%;transform:translate(-50%);border:5px solid transparent;border-bottom-color:#333}.popover-panel{border:1px solid #e5e5e5;border-radius:10px;background:#fff;margin-bottom:10px;box-shadow:0 4px 16px #00000014;overflow:hidden;animation:popIn .15s ease-out}@keyframes popIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.popover-panel .emoji-tabs{display:flex;gap:2px;padding:6px;background:#f5f5f5;border-bottom:1px solid #e8e8e8}.popover-panel .emoji-tabs .emoji-tab{padding:3px 10px;border:none;background:transparent;border-radius:10px;font-size:11px;color:#888;cursor:pointer;transition:all .12s}.popover-panel .emoji-tabs .emoji-tab:hover{color:#555}.popover-panel .emoji-tabs .emoji-tab.active{background:#fff;color:#2d8a3e;font-weight:600;box-shadow:0 1px 3px #0000000f}.popover-panel .emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;padding:8px;max-height:160px;overflow-y:auto}.popover-panel .emoji-grid .emoji-cell{aspect-ratio:1;border:none;background:transparent;border-radius:6px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s}.popover-panel .emoji-grid .emoji-cell:hover{background:#f0f0f0}.status-panel{display:flex;padding:12px;gap:10px}.status-panel .pop-item{flex:1;padding:12px 8px;border:1.5px solid #e5e5e5;background:#fafafa;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:all .15s;font-size:12px;color:#555}.status-panel .pop-item:hover{border-color:#52b566;background:#f0faf2;transform:translateY(-1px)}.status-panel .pop-item.selected{font-weight:600}.status-panel .pop-item .pop-icon{font-size:22px}.status-panel .pop-item .pop-label{font-size:12px}.mood-panel{display:grid;grid-template-columns:repeat(3,1fr);padding:10px;gap:8px}.mood-panel .pop-item{padding:10px 6px;border:1.5px solid #e5e5e5;background:#fafafa;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;transition:all .15s;font-size:11px;color:#555}.mood-panel .pop-item:hover{border-color:#52b566;background:#f0faf2;transform:translateY(-1px)}.mood-panel .pop-item.selected{font-weight:600}.mood-panel .pop-item .pop-icon{font-size:20px}.mood-panel .pop-item .pop-label{font-size:11px;white-space:nowrap}.compose-chips{display:flex;gap:8px;margin-bottom:8px}.compose-chips .chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid;border-radius:14px;font-size:12px;font-weight:500;line-height:1.4}.compose-chips .chip .chip-x{margin-left:2px;width:16px;height:16px;border:none;background:#0000001a;border-radius:50%;color:inherit;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s}.compose-chips .chip .chip-x:hover{background:#00000040}.compose-chips .chip-status{background:#fff}.f-status{margin-left:auto;padding:2px 8px;border:1px solid;border-radius:10px;font-size:11px;font-weight:500;flex-shrink:0;line-height:1.4;white-space:nowrap}.f-mood{font-weight:600;box-shadow:0 1px 3px #00000026;letter-spacing:.3px}.f-status+.f-mood{margin-left:4px}.f-del{border:none;background:#e5e7eb;color:#6b7280;border-radius:50%;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;margin-left:auto;padding:0;transition:all .15s}.f-del:hover{color:#ef4444}.cmt-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:2100;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.cmt-panel{width:calc(100% - 40px);max-width:420px;max-height:75vh;background:#fff;border-radius:16px;display:flex;flex-direction:column;animation:popIn .22s ease;box-shadow:0 12px 40px #0000002e;overflow:hidden}.cmt-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #f0f0f0;order:0;flex-shrink:0}.cmt-title{font-size:15px;font-weight:600;color:#222}.cmt-close{background:none;border:none;font-size:18px;color:#999;cursor:pointer;padding:4px 8px}.cmt-close:hover{color:#222}.cmt-list{flex:1;overflow-y:auto;padding:12px 16px}.cmt-loading,.cmt-empty{text-align:center;color:#bbb;padding:30px 0;font-size:14px}.cmt-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid #f7f7f7}.cmt-item:last-child{border-bottom:none}.cmt-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;background:#f0f0f0;object-fit:cover}.cmt-body{flex:1;min-width:0}.cmt-name{font-size:13px;font-weight:600;color:#2d8a3e;margin-bottom:2px}.cmt-content{font-size:14px;color:#333;line-height:1.5;word-break:break-word}.cmt-time{font-size:12px;color:#aaa;margin-top:3px}.cmt-del{border:none;background:#e5e7eb;border-radius:50%;width:22px;height:22px;font-size:11px;cursor:pointer;padding:0;opacity:0;transition:all .15s;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.cmt-item:hover .cmt-del{opacity:1}.cmt-del:hover{color:#ef4444}.cmt-reply{padding:8px 0 8px 8px;border-left:2px solid #e8f5e9;border-bottom:none}.cmt-children{margin-top:4px;padding-left:0}.cmt-reply-to{font-weight:400;color:#9e9e9e;font-size:12px;margin-left:6px}.cmt-meta{display:flex;align-items:center;gap:10px;margin-top:3px}.cmt-reply-btn{font-size:12px;color:#9e9e9e;background:none;padding:0;line-height:1}.cmt-reply-btn:active{color:#2e7d32}.cmt-reply-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;background:#e8f5e9;font-size:12px;color:#666;border-top:1px solid #c8e6c9}.cmt-reply-bar b{color:#2e7d32}.cmt-reply-bar .cmt-reply-cancel{color:#9e9e9e;font-size:12px;padding:2px 8px;border-radius:10px}.cmt-reply-bar .cmt-reply-cancel:active{color:#ef4444}.cmt-input-bar{display:flex;gap:6px;padding:10px 12px;border-top:1px solid #f0f0f0;align-items:center}.cmt-emoji-btn{background:none;border:none;font-size:22px;cursor:pointer;padding:4px 6px;flex-shrink:0;border-radius:6px;transition:background .15s}.cmt-emoji-btn:hover{background:#f3f3f3}.cmt-input-bar{order:3}.cmt-emoji-panel{order:2;border-top:1px solid #f0f0f0;padding:8px 12px 12px;background:#fafafa;animation:fadeIn .15s ease}.cmt-emoji-panel .emoji-tabs{display:flex;gap:4px;margin-bottom:8px;flex-wrap:wrap}.cmt-emoji-panel .emoji-tab{font-size:12px;padding:3px 8px;border-radius:12px;border:1px solid #e4e4e4;background:#fff;color:#666;cursor:pointer}.cmt-emoji-panel .emoji-tab.active{background:#2d8a3e;color:#fff;border-color:#2d8a3e}.cmt-emoji-panel .emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px}.cmt-emoji-panel .emoji-cell{font-size:18px;padding:4px 0;background:none;border:none;cursor:pointer;border-radius:4px;transition:background .1s}.cmt-emoji-panel .emoji-cell:hover{background:#eee}.cmt-input{flex:1;border:1px solid #e4e4e4;border-radius:20px;padding:8px 14px;font-size:14px;outline:none;background:#f9f9f9;transition:border-color .15s}.cmt-input:focus{border-color:#2d8a3e;background:#fff}.cmt-input:disabled{background:#f4f4f4;color:#bbb;cursor:not-allowed}.cmt-send{background:#2d8a3e;color:#fff;border:none;border-radius:18px;padding:8px 18px;font-size:14px;font-weight:500;cursor:pointer;flex-shrink:0;transition:opacity .15s}.cmt-send:hover:not(:disabled){opacity:.9}.cmt-send:disabled{background:#ccc;cursor:not-allowed}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.my-route-guides-page{padding-bottom:80px}.my-route-guides-page .tab-bar{display:flex;gap:8px;padding:12px 16px;background:#fff;border-bottom:1px solid #f0f0f0;position:sticky;top:0;z-index:10}.my-route-guides-page .tab-bar .tab-item{padding:6px 14px;border-radius:20px;font-size:13px;color:#666;cursor:pointer;transition:all .2s;position:relative}.my-route-guides-page .tab-bar .tab-item.active{background:#1677ff;color:#fff}.my-route-guides-page .tab-bar .tab-item:hover:not(.active){background:#f5f5f5}.rg-list{padding:12px 16px 80px}.rg-list .rg-card{margin-bottom:12px;border-radius:12px;border:none;cursor:pointer;box-shadow:0 1px 4px #0000000a;transition:box-shadow .2s,transform .2s}.rg-list .rg-card:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-1px)}.rg-list .rg-card:active{background:#fafafa}.rg-list .rg-card .ant-card-body{display:flex;gap:12px;padding:12px}.rg-list .rg-cover{width:100px;height:100px;border-radius:8px;object-fit:cover;flex-shrink:0;background:#eee}.rg-list .rg-cover-empty{display:flex;align-items:center;justify-content:center;font-size:32px;background:linear-gradient(135deg,#e0e0e0,#f5f5f5)}.rg-list .rg-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.rg-list .rg-title{font-size:15px;font-weight:600;color:#1a1a1a;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.3}.rg-list .rg-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:#666}.rg-list .rg-reject{font-size:12px;color:#cf1322;background:#fff1f0;padding:4px 8px;border-radius:4px;line-height:1.4}.rg-list .rg-bottom{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:4px}.rg-list .rg-stats{font-size:12px;color:#aaa}.rg-list .rg-tag{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500}.rg-list .rg-tag.rg-a0{background:#fff7e6;color:#d46b08}.rg-list .rg-tag.rg-a1{background:#f6ffed;color:#52c41a}.rg-list .rg-tag.rg-a2{background:#fff1f0;color:#cf1322}.rg-list .rg-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.rg-list .rg-act{display:inline-flex;align-items:center;justify-content:center;font-size:15px;color:#2e7d32;cursor:pointer}.rg-list .rg-act:hover{color:#1b5e20}.rg-list .rg-act.disabled{color:#ccc;cursor:not-allowed}.rg-list .rg-act.danger{color:#ff4d4f}.rg-list .rg-act.danger:hover{color:#cf1322}.rich-text-editor{border:1px solid #d9d9d9;border-radius:8px;overflow:hidden}.rich-text-editor .rte-toolbar{display:flex;align-items:center;gap:4px;padding:6px 8px;background:#fafafa;border-bottom:1px solid #eee;flex-wrap:wrap}.rich-text-editor .rte-toolbar .rte-sep{width:1px;height:18px;background:#e0e0e0;margin:0 4px}.rich-text-editor .rte-toolbar .ant-btn{padding:0 8px;height:26px;font-size:12px}.rich-text-editor .rte-content{min-height:200px;max-height:480px;overflow-y:auto;padding:12px 16px;outline:none;line-height:1.8}.rich-text-editor .rte-content .ProseMirror{min-height:176px;outline:none}.rich-text-editor .rte-content:focus{background:#fff}.rich-text-editor .rte-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#adadad;pointer-events:none;height:0}.rich-text-editor .rte-content img{max-width:100%;border-radius:6px;margin:8px 0}.rich-text-editor .rte-content video{max-width:100%;border-radius:6px;margin:8px 0}.rich-text-editor .rte-content h2{font-size:18px;font-weight:600;margin:16px 0 8px}.rich-text-editor .rte-content ul,.rich-text-editor .rte-content ol{padding-left:20px;margin:4px 0}.rich-text-editor .rte-content blockquote{border-left:3px solid #ddd;padding-left:12px;color:#888;margin:8px 0}.air-page{display:flex;flex-direction:column;height:calc(100vh - 56px);background:#f7f8f6}.air-header{padding:14px 16px 12px;background:linear-gradient(135deg,#2d8a3e,#52b566);color:#fff}.air-header .air-header-top{display:flex;align-items:center;gap:10px}.air-header .air-header-back{flex-shrink:0;width:32px;height:32px;border-radius:50%;border:none;background:#ffffff2e;color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.air-header .air-header-back:active{background:#ffffff59;transform:scale(.92)}.air-header .air-header-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px}.air-header .air-header-avatar{flex-shrink:0;width:44px;height:44px;border-radius:50%;overflow:hidden;background:#fff;box-shadow:0 2px 6px #0000002e}.air-header .air-header-avatar svg{width:100%;height:100%;transform:scale(1.05) translateY(-1px)}.air-header .air-header-avatar .air-header-blink{transform-origin:center;animation:air-blink 4.2s ease-in-out infinite}.air-header .air-header-avatar .air-header-blink:nth-child(2){animation-delay:.05s}@keyframes air-blink{0%,92%,to{transform:scaleY(1)}94%,96%{transform:scaleY(.08)}98%{transform:scaleY(1)}}.air-header .air-header-text{min-width:0;flex:1}.air-header .air-header-title{font-size:16px;font-weight:700;line-height:1.25}.air-header .air-header-sub{margin-top:2px;font-size:11px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.air-header .air-header-reset{flex-shrink:0;font-size:12px;color:#fff;background:#ffffff2e;border:1px solid rgba(255,255,255,.45);border-radius:14px;padding:5px 12px;cursor:pointer}.air-header .air-header-reset:disabled{opacity:.5;cursor:not-allowed}.air-header .air-chips{display:flex;gap:8px;margin-top:10px;overflow-x:auto}.air-header .air-chips .air-chip{flex-shrink:0;font-size:12px;color:#fff;background:#ffffff24;border:1px solid rgba(255,255,255,.4);border-radius:14px;padding:4px 12px;cursor:pointer;white-space:nowrap;transition:background .2s,border-color .2s}.air-header .air-chips .air-chip.on{background:#fff;color:#2d8a3e;border-color:#fff;font-weight:600}.air-header .air-chips .air-chip.locked{opacity:.85;border-style:dashed}.air-header .air-chips .air-chip .air-chip-crown{margin-left:2px;font-size:11px}.air-header .air-chips .air-chip:disabled{opacity:.5;cursor:not-allowed}.air-list{flex:1;overflow-y:auto;padding:14px 12px 10px}.air-row{display:flex;gap:8px;margin-bottom:14px}.air-row.mine{justify-content:flex-end}.air-avatar{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid #e3ede4;display:flex;align-items:center;justify-content:center;font-size:18px;overflow:hidden}.air-avatar.air-avatar-fox svg{width:100%;height:100%;display:block}.air-avatar.air-avatar-fox{background:#fff3e4;border-color:#f5c89a}.air-avatar.me{background:#e8f5ea}.air-typing-hold{position:relative;display:block}.air-typing-hold .air-ghost{display:block;visibility:hidden}.air-typing-hold .air-typed{position:absolute;top:0;right:0;bottom:0;left:0}.air-cursor{display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-.15em;background:#4caf50;border-radius:1px;animation:air-cursor-blink .8s steps(1) infinite}@keyframes air-cursor-blink{0%,55%{opacity:1}56%,to{opacity:0}}.air-col{max-width:86%;min-width:0;display:flex;flex-direction:column}.air-bubble{padding:10px 12px;border-radius:4px 14px 14px;background:#fff;border:1px solid #e8ece8;font-size:14px;line-height:1.6;color:#333;word-break:break-word}.air-bubble .air-line{display:block}.air-bubble .air-line:empty{display:none}.air-bubble .air-em{color:#b0523e;font-weight:600}.air-bubble .air-hint{display:block;margin-top:4px;font-size:11px}.air-bubble.error{background:#fff3f0;border-color:#f2cfc8;color:#b0523e}.air-row.mine .air-bubble{border-radius:14px 4px 14px 14px;background:#2d8a3e;border-color:#2d8a3e;color:#fff}.air-typing{display:inline-flex;gap:4px;align-items:center;height:20px}.air-typing i{width:6px;height:6px;border-radius:50%;background:#9bbf9f;animation:airBlink 1.2s infinite}.air-typing i:nth-child(2){animation-delay:.2s}.air-typing i:nth-child(3){animation-delay:.4s}@keyframes airBlink{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.air-cards{margin-top:8px;display:flex;flex-direction:column;gap:8px}.air-card{display:flex;gap:10px;background:#fff;border:1px solid #e3ede4;border-radius:12px;padding:8px;cursor:pointer;transition:box-shadow .2s}.air-card:active{box-shadow:0 2px 10px #2d8a3e2e}.air-card-img,.air-card-ph{flex-shrink:0;width:76px;height:76px;border-radius:8px;object-fit:cover}.air-card-ph{display:flex;align-items:center;justify-content:center;background:#eef4ee;font-size:26px}.air-card-body{flex:1;min-width:0}.air-card-top{display:flex;align-items:flex-start;gap:6px}.air-card-title{flex:1;min-width:0;font-size:14px;font-weight:600;color:#222;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.air-card-score{flex-shrink:0;font-size:10px;font-weight:600;color:#2d8a3e;background:#e8f5ea;border-radius:10px;padding:2px 7px;white-space:nowrap}.air-card-meta{margin-top:4px;display:flex;flex-wrap:wrap;gap:8px;font-size:11px;color:#888}.air-card-diff{margin-top:2px;font-size:11px;color:#d4a017}.air-card-reason{margin-top:4px;font-size:12px;color:#2d8a3e;background:#f3faf4;border-radius:6px;padding:4px 7px;line-height:1.5}.air-status{font-size:12px;color:#7d9683}.air-card-tags{margin-top:5px;display:flex;flex-wrap:wrap;gap:4px}.air-tag{font-size:10px;color:#4a7a52;background:#eef4ee;border-radius:4px;padding:1px 6px}.air-tag.snow{color:#2f6b9a;background:#e8f2fa}.air-tag.alt{color:#8a6d3b;background:#f7f2e6}.air-card-warn{margin-top:5px;font-size:11px;line-height:1.5;color:#b0523e;background:#fff3f0;border:1px solid #f2cfc8;border-radius:6px;padding:3px 7px}.air-card-weather{margin-top:5px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;color:#666}.air-card-weather .air-weather-main{color:#4a6b7a}.air-card-weather .air-weather-main.hazard-orange{color:#c47d1a}.air-card-weather .air-weather-main.hazard-red,.air-card-weather .air-weather-warn{color:#b0523e}.air-card-weather .air-weather-more{color:#9aa39a;font-size:10px}.air-quick{display:flex;flex-wrap:wrap;gap:8px;padding:0 12px 10px}.air-quick button{font-size:12px;color:#2d8a3e;background:#fff;border:1px solid #bcd9c1;border-radius:16px;padding:6px 12px;cursor:pointer}.air-quick button:hover{background:#f3faf4}.air-inputbar{display:flex;gap:8px;padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #ececec}.air-inputbar input{flex:1;min-width:0;height:40px;border:none;outline:none;background:#f5f5f5;border-radius:20px;padding:0 16px;font-size:14px;color:#333}.air-inputbar input::placeholder{color:#aaa}.air-send{flex-shrink:0;height:40px;padding:0 18px;border:none;border-radius:20px;background:linear-gradient(135deg,#2d8a3e,#52b566);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.air-send:disabled{opacity:.5;cursor:not-allowed}.air-voice{flex-shrink:0;width:40px;height:40px;border:none;border-radius:50%;background:#e7ebe8;color:#6b8075;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s,transform .15s}.air-voice:active{transform:scale(.92)}.air-voice:disabled{opacity:.45;cursor:not-allowed}.air-voice.on{background:#e84c4c;color:#fff;animation:air-voice-pulse 1.2s ease-out infinite}.air-voice.uploading{background:#f5a623;color:#fff;animation:air-voice-spin 1s linear infinite}@keyframes air-voice-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes air-voice-pulse{0%{box-shadow:0 0 #e84c4c80}70%{box-shadow:0 0 0 10px #e84c4c00}to{box-shadow:0 0 #e84c4c00}}.air-hold{flex:1;min-width:0;height:40px;border:none;border-radius:20px;background:#f5f5f5;color:#333;font-size:14px;font-weight:600;letter-spacing:1px;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none;transition:background .15s,color .15s}.air-hold.on{background:#e84c4c;color:#fff}.air-hold.uploading{background:#f5a623;color:#fff}.air-hold:disabled{opacity:.6;cursor:not-allowed}.air-kb{flex-shrink:0;width:40px;height:40px;border:none;border-radius:50%;background:#f0f2f1;color:#6b8075;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.air-kb:active{transform:scale(.92)}.air-kb:disabled{opacity:.45;cursor:not-allowed}.air-voice-live{display:flex;align-items:center;gap:8px;margin:0 16px 8px;padding:10px 14px;border-radius:10px;background:#f2f7f3;color:#2d8a3e;font-size:13px;line-height:1.4}.air-voice-live .dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:#e84c4c;animation:air-voice-pulse 1.2s ease-out infinite}.air-voice-error{margin:0 16px 8px;padding:8px 12px;border-radius:8px;background:#fff3f0;color:#c04848;font-size:12px;line-height:1.4}.air-quota{padding:6px 12px;background:#fff;font-size:12px;color:#999;text-align:center}.air-login-btn{margin-top:8px;padding:7px 16px;border:none;border-radius:16px;background:linear-gradient(135deg,#2d8a3e,#52b566);color:#fff;font-size:13px;font-weight:600;cursor:pointer;align-self:flex-start}.air-login-btn:hover{filter:brightness(1.05)}.up-page{min-height:100vh;display:flex;flex-direction:column;background:#f5f6f8;padding-bottom:0}.up-loading{display:flex;justify-content:center;padding:60px 0}.up-empty{padding:40px 0}.up-header{background:linear-gradient(135deg,#2e7d32,#66bb6a);color:#fff;padding:20px 16px 16px}.up-header-top{display:flex;align-items:center;gap:12px}.up-avatar{width:56px;height:56px;border-radius:50%;background:#ffffff40;overflow:hidden;flex-shrink:0;border:2px solid rgba(255,255,255,.5)}.up-avatar img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:50%}.up-meta{flex:1;min-width:0}.up-name{font-size:17px;font-weight:600;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.up-badge{font-size:11px;padding:1px 8px;border-radius:10px;font-weight:500}.up-bio{font-size:12px;opacity:.9;margin-top:4px;line-height:1.5;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.up-bio-edit{font-size:11px;opacity:.85;cursor:pointer}.up-btn{border:none;padding:6px 14px;border-radius:16px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;flex-shrink:0}.up-btn-follow{background:#fffffff2;color:#2e7d32}.up-btn-follow.followed,.up-btn-edit{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.5)}.up-join{font-size:11px;opacity:.8;margin-top:8px}.up-stats{display:flex;background:#fff;border-bottom:1px solid #eee}.up-stat{flex:1;text-align:center;padding:12px 4px;cursor:pointer}.up-num{font-size:17px;font-weight:700;color:#1f2329}.up-lbl{font-size:11px;color:#8a8f99;margin-top:2px}.up-trail-stats{display:flex;align-items:center;background:#fff;margin:8px 12px;padding:14px 8px;border-radius:12px}.up-trail-item{flex:1;text-align:center}.up-trail-num{font-size:18px;font-weight:700;color:#2e7d32}.up-trail-lbl{font-size:11px;color:#8a8f99;margin-top:4px}.up-trail-divider{width:1px;height:28px;background:#eee}.up-tabs{display:flex;background:#fff;margin:0 12px;border-radius:12px 12px 0 0;border-bottom:1px solid #eee;overflow:hidden}.up-tab{flex:1;text-align:center;padding:12px 0;font-size:14px;color:#8a8f99;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}.up-tab.active{color:#2e7d32;border-bottom-color:#2e7d32;font-weight:600}.up-content{margin:0 12px;background:#fff;border-radius:0 0 12px 12px;padding:12px;flex:1 1 auto}.up-guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.up-guide-card{background:#f7f8fa;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .15s}.up-guide-card:active{transform:scale(.97)}.up-guide-cover{width:100%;height:90px;background:#e8eaed;overflow:hidden}.up-guide-cover img{width:100%;height:100%;object-fit:cover}.up-guide-cover-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:32px;background:linear-gradient(135deg,#a8dadc,#457b9d)}.up-guide-info{padding:8px}.up-guide-title{font-size:13px;font-weight:600;color:#1f2329;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.up-guide-meta{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:11px;color:#8a8f99;margin-top:6px}.up-diff-tag{margin:0;font-size:10px;padding:0 4px;line-height:16px}.up-activity-list{display:flex;flex-direction:column;gap:8px}.up-activity-card{display:flex;gap:10px;background:#f7f8fa;border-radius:8px;padding:8px;cursor:pointer;transition:transform .15s}.up-activity-card:active{transform:scale(.98)}.up-activity-cover{width:72px;height:72px;border-radius:8px;overflow:hidden;flex-shrink:0;background:#e8eaed}.up-activity-cover img{width:100%;height:100%;object-fit:cover}.up-activity-cover-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:28px;background:linear-gradient(135deg,#e9c46a,#f4a261)}.up-activity-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.up-activity-title{font-size:14px;font-weight:600;color:#1f2329;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.up-activity-meta{font-size:12px;color:#8a8f99;margin-top:4px;line-height:1.4}.up-btn:disabled{opacity:.6;cursor:not-allowed}.ufl-page{min-height:100vh;background:#f5f6f8;padding-bottom:24px}.ufl-loading{display:flex;justify-content:center;padding:60px 0}.ufl-empty{padding:40px 0}.ufl-tabs{display:flex;background:#fff;margin:8px 12px 0;border-radius:12px 12px 0 0;border-bottom:1px solid #eee;overflow:hidden}.ufl-tab{flex:1;text-align:center;padding:12px 0;font-size:14px;color:#8a8f99;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}.ufl-tab.active{color:#2e7d32;border-bottom-color:#2e7d32;font-weight:600}.ufl-content{margin:0 12px;background:#fff;border-radius:0 0 12px 12px;padding:8px 12px}.ufl-list{display:flex;flex-direction:column}.ufl-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #f0f0f0;cursor:pointer}.ufl-item:last-child{border-bottom:none}.ufl-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;flex-shrink:0;background:#e8eaed}.ufl-avatar img{width:100%;height:100%;object-fit:cover}.ufl-info{flex:1;min-width:0}.ufl-name{font-size:14px;font-weight:600;color:#1f2329;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ufl-badge{font-size:10px;color:#8a8f99;background:#f0f1f3;padding:1px 6px;border-radius:8px}.ufl-bio{font-size:12px;color:#8a8f99;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ufl-btn{border:none;padding:5px 12px;border-radius:14px;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;flex-shrink:0;background:#2e7d32;color:#fff}.ufl-btn.followed{background:#f0f1f3;color:#8a8f99}.ufl-btn:disabled{opacity:.6;cursor:not-allowed}html,body,#root{height:100%;margin:0;padding:0}body:has(.app-root){overflow:hidden}.app-root{min-height:100vh;min-height:var(--app-h, 100dvh);background:#f5f6f8;overflow-x:hidden}.app-root>*{min-width:0}.app-main{max-width:480px;width:100%;margin:0 auto;height:100vh;height:var(--app-h, 100dvh);background:#fff;box-shadow:0 0 20px #0000000d;position:relative;overflow-x:hidden;overflow-y:hidden;box-sizing:border-box;display:flex;flex-direction:column}.app-content{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.app-content::-webkit-scrollbar{display:none}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;width:100%;max-width:100vw;overflow-x:hidden;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif;font-size:14px;color:#212121;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background:#f5f6f8}a{color:#2e7d32;text-decoration:none}ul,ol{list-style:none}img{max-width:100%;display:block}button{border:none;background:none;cursor:pointer;font-family:inherit}input,textarea{font-family:inherit;border:none;outline:none}.container{padding:12px 16px}.text-muted{color:#9e9e9e}.text-secondary{color:#616161}.text-primary-color{color:#2e7d32}.text-secondary-color{color:#ff9800}.text-danger{color:#e53935}.flex{display:flex}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-center{display:flex;justify-content:center;align-items:center}.flex-col{display:flex;flex-direction:column}.btn-primary{display:inline-block;padding:10px 20px;background:#2e7d32;color:#fff;border-radius:24px;font-size:15px;text-align:center;transition:background .2s}.btn-primary:active{background:#1b5e20}.btn-primary.btn-block{display:block;width:100%}.btn-primary.btn-outline{background:transparent;border:1px solid #2e7d32;color:#2e7d32}.card{background:#fff;border-radius:12px;padding:12px;box-shadow:0 1px 4px #0000000f}.tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;background:#2e7d321a;color:#2e7d32}.tag.tag-warn{background:#ff98001f;color:#ff9800}.tag.tag-danger{background:#e539351a;color:#e53935}.tag.tag-info{background:#e3f2fd;color:#1976d2}.divider{height:1px;background:#e0e0e0;margin:8px 0}.ant-table-wrapper{overflow-x:auto}.ant-table-cell,.ant-table-thead>tr>th,.ant-table-tbody>tr>td{white-space:nowrap}
