.tab-host{position:fixed;left:0;right:0;bottom:0;z-index:80;height:calc(var(--jiayu-tabbar-host-height) + env(safe-area-inset-bottom));padding:.5rem .45rem calc(.35rem + env(safe-area-inset-bottom));box-sizing:border-box;pointer-events:none}.tab-card{pointer-events:auto;height:var(--jiayu-tabbar-card-height);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;border-radius:var(--jiayu-tabbar-radius);background:var(--jiayu-tabbar-background);box-shadow:var(--jiayu-tabbar-shadow)}.tab-item{width:auto;min-width:0;min-height:2.3rem;margin:0;padding:0;border:0;border-radius:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.05rem;color:var(--jiayu-tabbar-inactive);background:transparent;font-size:var(--jiayu-type-meta-size);font-weight:var(--jiayu-weight-semibold)}.tab-item:active{transform:scale(.96)}.tab-item.active{color:var(--jiayu-brand)}.tab-icon-wrap{width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;border-radius:var(--jiayu-radius-lg)}.tab-item.active .tab-icon-wrap{background:var(--jiayu-brand-soft)}.tab-icon{width:.85rem;height:.85rem;display:block}.tab-label{line-height:1.1}.tab-item.primary{transform:translateY(-.3rem)}.tab-item.primary:active{transform:translateY(-.3rem) scale(.96)}.tab-item.primary .tab-icon-wrap{width:1.75rem;height:1.75rem;border-radius:var(--jiayu-radius-full);background:var(--jiayu-brand-soft);box-shadow:var(--jiayu-elevation-1)}.tab-item.primary.active .tab-icon-wrap{background:var(--jiayu-brand)}.tab-item.primary .tab-icon{width:.95rem;height:.95rem}@media (min-width: 720px){.tab-host{width:18rem;left:50%;right:auto;transform:translate(-50%)}}.web-page{min-height:100vh;box-sizing:border-box;padding:calc(2.65rem + env(safe-area-inset-top)) var(--jiayu-page-padding-x) calc(.8rem + env(safe-area-inset-bottom));color:var(--jiayu-text);background:var(--jiayu-page-background)}.web-page.main-page{padding-bottom:calc(var(--jiayu-page-padding-bottom) + env(safe-area-inset-bottom))}.web-topbar{position:fixed;z-index:60;top:0;left:0;right:0;height:calc(2.2rem + env(safe-area-inset-top));padding:env(safe-area-inset-top) .7rem 0;box-sizing:border-box;display:grid;grid-template-columns:2.2rem minmax(0,1fr) 2.2rem;align-items:center;background:var(--jiayu-bg);box-shadow:var(--jiayu-elevation-1)}.web-topbar.brand{color:var(--jiayu-ink-1);background:var(--jiayu-bg)}.web-topbar-title{min-width:0;overflow:hidden;color:var(--jiayu-ink-1);font-size:var(--jiayu-type-title-size);font-weight:var(--jiayu-weight-semibold);line-height:1.15;text-align:center;text-overflow:ellipsis;white-space:nowrap}.web-topbar.brand .web-topbar-title{font-size:var(--jiayu-type-display-size)}.web-topbar.brand.leading{grid-template-columns:minmax(0,1fr)}.web-topbar.brand.leading .topbar-side{display:none}.web-topbar.brand.leading .web-topbar-title{text-align:left}.topbar-side{min-width:0}.topbar-back{width:2.2rem;min-width:0;min-height:2.2rem;height:2.2rem;margin:0;padding:0;border:0;border-radius:var(--jiayu-radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit;background:var(--jiayu-surface);box-shadow:var(--jiayu-elevation-1);font-size:1.35rem;font-weight:400;line-height:1.3rem}.topbar-back:active{background:var(--jiayu-brand-tint)}.web-page-content{width:100%;min-width:0;max-width:18rem;margin:0 auto}.t-display{font-size:var(--jiayu-type-display-size);font-weight:var(--jiayu-weight-semibold);line-height:1.2}.t-title{font-size:var(--jiayu-type-title-size);font-weight:var(--jiayu-weight-semibold);line-height:1.25}.t-heading{font-size:var(--jiayu-type-heading-size);font-weight:var(--jiayu-weight-semibold);line-height:1.3}.t-body,.t-body-strong{font-size:var(--jiayu-type-body-size);line-height:1.5}.t-body{font-weight:var(--jiayu-weight-regular)}.t-body-strong{font-weight:var(--jiayu-weight-semibold)}.t-meta{font-size:var(--jiayu-type-meta-size);font-weight:var(--jiayu-weight-regular);line-height:1.4}.t-number{font-size:var(--jiayu-type-number-size);font-weight:var(--jiayu-weight-semibold);font-variant-numeric:tabular-nums;line-height:1}.surface-card,.section-card,.ui-card,.state-panel{min-width:0;box-sizing:border-box;border-radius:var(--jiayu-card-radius);background:var(--jiayu-card-background);box-shadow:var(--jiayu-card-shadow)}.section-card,.state-panel{margin-top:var(--jiayu-card-gap);padding:var(--jiayu-card-padding)}.state-panel{display:flex;flex-direction:column;gap:.4rem}.state-title,.section-title{min-height:1.1rem;color:var(--jiayu-text-strong);font-size:var(--jiayu-section-title-size);line-height:var(--jiayu-section-title-line);font-weight:var(--jiayu-section-title-weight)}.state-copy,.muted-copy,.empty-state{color:var(--jiayu-text-soft);font-size:var(--jiayu-body-size);font-weight:var(--jiayu-weight-regular);line-height:1.5}@keyframes ui-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes ui-typing{0%,20%,80%,to{opacity:.2}50%{opacity:1}}.skeleton-panel{min-height:3.8rem;padding:.8rem}.ui-skeleton,.skeleton-line,.skeleton-dot{background:linear-gradient(90deg,var(--jiayu-bg-sunk) 25%,var(--jiayu-bg) 50%,var(--jiayu-bg-sunk) 75%);background-size:200% 100%;animation:ui-shimmer 1.4s ease-in-out infinite}.skeleton-line{width:68%;height:.6rem;margin-top:.6rem;border-radius:var(--jiayu-radius-full)}.skeleton-line:first-child{margin-top:0}.skeleton-line.title{width:42%;height:.8rem}.skeleton-line.short{width:28%}.skeleton-dot{width:2.2rem;height:2.2rem;border-radius:var(--jiayu-radius-full)}.typing{color:var(--jiayu-ink-3)}.typing:after{content:"…";display:inline-block;min-width:.6rem;animation:ui-typing 1.2s ease-in-out infinite}.empty-state{padding:1.6rem .6rem;color:var(--jiayu-ink-3);font-size:var(--jiayu-type-body-size);text-align:center}.primary-button,.secondary-button,.danger-button{min-width:0;min-height:var(--jiayu-action-min-height);margin:0;padding:0 .6rem;border:0;border-radius:var(--jiayu-action-radius);box-sizing:border-box;display:flex;align-items:center;justify-content:center;font-size:var(--jiayu-action-size);font-weight:var(--jiayu-action-weight);line-height:1.5;text-align:center}.tertiary-button{min-width:0;min-height:var(--jiayu-action-min-height);margin:0;padding:0 .6rem;border:0;border-radius:var(--jiayu-action-radius);box-sizing:border-box;display:flex;align-items:center;justify-content:center;font-size:var(--jiayu-action-size);font-weight:var(--jiayu-action-weight);line-height:1.5;text-align:center;color:var(--jiayu-ink-2);background:transparent}.primary-button{color:var(--jiayu-on-accent);background:var(--jiayu-brand)}.primary-button:active{background:var(--jiayu-brand-press)}.primary-button.login-submit-button.is-disabled[disabled]{color:var(--jiayu-disabled-text);background:var(--jiayu-disabled-background);opacity:1}.primary-button.login-submit-button.is-ready,.primary-button.login-submit-button.is-loading[disabled]{color:var(--jiayu-on-accent)!important;background:var(--jiayu-brand)!important;opacity:1}.secondary-button{color:var(--jiayu-brand-ink);background:var(--jiayu-brand-soft)}.danger-button{color:var(--jiayu-danger);background:var(--jiayu-danger-tint)}.full-button{width:100%}.ui-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;min-width:0;min-height:2.8rem;padding:0 .6rem;align-items:center;gap:.4rem;box-sizing:border-box;border-top:.025rem solid var(--jiayu-line)}.ui-row:first-child{border-top:0}.check-target{display:flex;width:2.2rem;height:2.2rem;min-width:0;min-height:2.2rem;flex:0 0 2.2rem;align-items:center;justify-content:center;margin:0;padding:0;border:0;border-radius:var(--jiayu-radius-full);background:transparent}.ui-check,.task-check,.habit-check{display:flex;width:1.2rem;height:1.2rem;min-width:0;min-height:0;align-items:center;justify-content:center;box-sizing:border-box;border:.05rem solid var(--jiayu-ink-4);border-radius:var(--jiayu-radius-full);color:var(--jiayu-on-accent);background:var(--jiayu-surface);font-size:var(--jiayu-type-meta-size);font-weight:var(--jiayu-weight-semibold);line-height:1}.check-target:active .ui-check,.check-target:active .task-check,.check-target:active .habit-check{transform:scale(.9)}.ui-check.checked,.task-check.checked,.habit-check.checked{border-color:var(--jiayu-brand);background:var(--jiayu-brand)}.ui-check.disabled,.task-check.disabled,.habit-check.disabled{border-color:var(--jiayu-ink-4);background:var(--jiayu-bg-sunk)}.ui-segmented{display:grid;padding:.15rem;border-radius:var(--jiayu-radius-md);background:var(--jiayu-bg-sunk)}.ui-segment{display:flex;min-width:0;min-height:2.2rem;align-items:center;justify-content:center;border-radius:var(--jiayu-radius-md);color:var(--jiayu-ink-2);background:transparent;font-size:var(--jiayu-type-body-size);font-weight:var(--jiayu-weight-regular)}.ui-segment.active{color:var(--jiayu-brand-ink);background:var(--jiayu-surface);box-shadow:var(--jiayu-elevation-1);font-weight:var(--jiayu-weight-semibold)}.row-button{width:100%;min-width:0;min-height:2.8rem;margin:0;padding:0 .6rem;border:0;border-top:.025rem solid var(--jiayu-line);border-radius:0;box-sizing:border-box;color:var(--jiayu-text-strong);background:transparent;font-size:var(--jiayu-type-body-size);font-weight:var(--jiayu-weight-semibold);line-height:1.5;text-align:left}.row-button:first-child{border-top:0}.form-field{display:flex;flex-direction:column;gap:.3rem}.form-label{color:var(--jiayu-ink-2);font-size:var(--jiayu-type-meta-size);font-weight:var(--jiayu-weight-semibold)}.web-input,.web-textarea,.web-select{width:100%;min-width:0;box-sizing:border-box;border:0;border-radius:var(--jiayu-input-radius);color:var(--jiayu-text-strong);background:var(--jiayu-input-background);font:inherit;font-size:max(16PX,var(--jiayu-input-size))}.web-input,.web-select{height:var(--jiayu-input-min-height);padding:0 var(--jiayu-input-padding-x)}.web-input .weui-input{height:100%}.web-textarea{min-height:2.8rem;padding:.55rem;line-height:1.6;resize:vertical}.web-textarea .taro-textarea{min-height:inherit;box-sizing:border-box}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin-top:.5rem}.chip-row{display:flex;min-width:0;gap:.3rem;overflow-x:auto;padding:.05rem 0}.chip{flex:0 0 auto;width:auto;min-height:2.2rem;margin:0;padding:0 .6rem;border:0;border-radius:var(--jiayu-radius-full);color:var(--jiayu-ink-2);background:var(--jiayu-surface);box-shadow:var(--jiayu-elevation-1);font-size:var(--jiayu-type-meta-size);line-height:2.2rem}.chip.active{color:var(--jiayu-brand-ink);background:var(--jiayu-brand-soft);box-shadow:var(--jiayu-elevation-1)}@media (min-width: 720px){.web-topbar{width:18rem;left:50%;right:auto;transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.ui-skeleton,.skeleton-line,.skeleton-dot,.typing:after{animation:none}}.page-tools,.page-section-head,.data-row,.member-row,.notice-row,.chat-composer{display:flex;min-width:0;align-items:center}.page-tools,.page-section-head{justify-content:space-between;gap:var(--jiayu-section-head-gap)}.page-section-head{margin-bottom:var(--jiayu-section-head-margin)}.inline-action{flex:0 0 auto;width:auto;margin:0;padding:.2rem .35rem;border:0;color:var(--jiayu-brand);background:transparent;font-size:.625rem}.data-list{min-width:0}.data-row,.member-row,.notice-row{gap:.45rem;padding:.55rem 0;border-bottom:.025rem solid rgba(0,0,0,.055)}.data-row:last-child,.member-row:last-child,.notice-row:last-child{border-bottom:0}.data-main,.member-main,.notice-main{min-width:0;flex:1}.data-title,.data-meta,.data-copy,.member-name,.member-role,.notice-title,.notice-body,.notice-time{display:block;min-width:0}.data-title,.member-name,.notice-title{color:var(--jiayu-text-strong);font-size:var(--jiayu-body-size);font-weight:650;line-height:1.35}.data-meta,.data-copy,.member-role,.notice-body,.notice-time{margin-top:.15rem;color:#837a70;font-size:.55rem;line-height:1.45}.data-copy,.notice-body{overflow-wrap:anywhere}.data-badge{flex:0 0 auto;padding:.175rem .325rem;border-radius:24.975rem;color:var(--jiayu-brand);background:var(--jiayu-brand-soft);font-size:.525rem;font-weight:700}.data-badge.warning{color:#8a641c;background:var(--jiayu-icon-orange)}.row-actions{flex:0 0 auto;display:flex;gap:.2rem}.small-button{width:auto;min-width:0;min-height:1.25rem;margin:0;padding:.2rem .35rem;border:0;border-radius:.375rem;color:var(--jiayu-brand);background:var(--jiayu-brand-soft);font-size:.575rem;font-weight:700;line-height:1.2}.small-button.danger{color:var(--jiayu-error-text);background:var(--jiayu-icon-red)}.composer-card{display:flex;flex-direction:column;gap:.45rem}.field-switch{min-height:2.4rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.picker-value{width:100%;min-height:1.8rem;padding:.45rem .5rem;box-sizing:border-box;display:flex;align-items:center;border:0;border-radius:.45rem;color:#3f3a34;background:#f4f1eb;font-size:.625rem}.task-check{width:1.05rem;height:1.05rem;flex:0 0 auto;margin:0;padding:0;border:.05rem solid #999;border-radius:50%;color:#fff;background:#fff;font-size:.575rem;font-weight:800;line-height:.95rem}.task-check.checked{border-color:transparent;background:#2f7d3b}.memo-card{width:100%;min-width:0;margin:0 0 .35rem;padding:.55rem;box-sizing:border-box;border:.025rem solid rgba(40,34,28,.08);border-radius:var(--jiayu-card-radius);color:inherit;background:#fffdf9;text-align:left}.memo-card.selected{border-color:#6fa377;box-shadow:0 0 0 .05rem #2f7d3b14}.memo-item{min-height:2.05rem;display:flex;align-items:flex-start;gap:.4rem;padding:.3rem .05rem}.memo-item.done{color:#716b63;text-decoration:line-through}.member-avatar{width:1.6rem;height:1.6rem;flex:0 0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--jiayu-brand);background:var(--jiayu-brand-soft);font-size:.6rem;font-weight:800}.invite-code{color:var(--jiayu-text-strong);font-size:.95rem;font-weight:800;letter-spacing:.125rem;text-align:center}.notice-row.unread .notice-title{color:var(--jiayu-text-strong);font-weight:800}.notice-dot{width:.3rem;height:.3rem;flex:0 0 auto;border-radius:50%;background:var(--jiayu-brand)}.game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.activity-hero{width:100%;min-width:0;min-height:4.45rem;margin:.5rem 0 0;padding:.85rem;box-sizing:border-box;display:flex;align-items:center;gap:.6rem;border:0;border-radius:var(--jiayu-card-radius);color:#24472c;background:linear-gradient(135deg,#edf7e9,#fffaf0);text-align:left}.activity-hero-link{display:block;margin-top:.65rem;color:var(--jiayu-brand);font-size:.7rem;font-weight:800}.activity-hero-mark{width:2.1rem;height:2.1rem;flex:0 0 auto;display:flex;align-items:center;justify-content:center;border-radius:.65rem;color:#fff;background:#2f7d3b;font-size:1rem;font-weight:750}.fitness-gate{width:100%;min-height:2.6rem;margin:.5rem 0 0;padding:.5rem .65rem;display:flex;min-width:0;align-items:center;justify-content:space-between;gap:.5rem;border:.025rem solid rgba(82,71,56,.08);color:inherit;text-align:left}.game-card{width:100%;min-width:0;margin:0;padding:.6rem .4rem;border:0;border-radius:.55rem;color:#2f4934;background:#fff;box-shadow:0 0 0 .025rem #0000000f;text-align:left}.activity-match{width:100%;margin:0;border:0;border-radius:0;color:inherit;background:transparent;text-align:left}.chat-list{display:flex;flex-direction:column;gap:.7rem}.fitness-chat-context{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:.45rem;margin-bottom:.4rem}.fitness-chat-context>taro-view-core{min-width:0;flex:1}.chat-message-row{display:flex;min-width:0;flex-direction:column;align-items:flex-start}.chat-message-row.user{align-items:flex-end}.chat-date{align-self:center;margin-bottom:.65rem;color:#8b887f;font-size:.55rem}.chat-message{max-width:84%;padding:.5rem .6rem;border-radius:.6rem;box-sizing:border-box;color:var(--jiayu-text-strong);background:var(--jiayu-card-background);box-shadow:0 0 0 .025rem #0000000f}.chat-message.user{border-radius:.6rem;color:var(--jiayu-text-strong);background:#dceecf}.chat-message-text,.chat-message-time{display:block;overflow-wrap:anywhere;white-space:pre-wrap}.chat-message-text{font-size:.725rem;line-height:1.55}.chat-message-time{margin-top:.2rem;color:#888;font-size:.55rem;opacity:1}.message-attachments{display:flex;min-width:0;flex-direction:column;gap:.25rem;margin-top:.25rem}.message-attachment,.draft-attachment{display:flex;min-width:0;align-items:center;gap:.25rem;padding:.25rem .3rem;box-sizing:border-box;border-radius:.35rem;background:rgba(255,255,255,.58)}.chat-message.user .message-attachment{background:rgba(255,255,255,.58)}.attachment-mark{width:.85rem;height:.85rem;flex:0 0 auto;display:flex;align-items:center;justify-content:center;border-radius:.25rem;color:#fff;background:#4c8c57;font-size:.45rem;font-weight:700}.attachment-copy{min-width:0;flex:1}.attachment-name,.attachment-size{display:block;min-width:0;overflow-wrap:anywhere}.attachment-name{font-size:.6rem;line-height:1.3}.attachment-size{margin-top:.1rem;color:#777;font-size:.5rem;opacity:1}.chat-retry{min-width:0;min-height:1.05rem;margin:.2rem 0 0;padding:.1rem .3rem;border:0;border-radius:.3rem;color:#a0442a;background:#fff4ef;font-size:.575rem;line-height:1.2}.draft-attachments{display:flex;min-width:0;gap:.3rem;margin-top:.5rem;overflow-x:auto}.draft-attachment{width:7.75rem;flex:0 0 auto;border:0;border-radius:.45rem;background:#f5f1e9}.draft-attachment-remove{width:1.05rem;min-width:0;height:1.05rem;margin:0;padding:0;border:0;border-radius:50%;color:#9a4b38;background:#eee8df;font-size:.75rem;line-height:.95rem}.attachment-status{display:block;margin-top:.25rem;color:var(--jiayu-brand);font-size:.525rem}.chat-composer{position:sticky;bottom:calc(2.9rem + env(safe-area-inset-bottom));gap:.35rem;margin-top:.6rem;padding:.4rem;border:0;border-radius:var(--jiayu-card-radius);background:rgba(255,255,255,.95);box-shadow:0 0 0 .025rem #0000000f,0 .3rem .8rem #1422181a}.attachment-picker{width:2.2rem;min-width:0;min-height:1.45rem;flex:0 0 auto;margin:0;padding:.3rem .2rem;box-sizing:border-box;border:0;border-radius:.4rem;display:flex;align-items:center;justify-content:center;color:#2f7d3b;background:#edf7e9;font-size:.525rem;line-height:1.2;text-align:center}.attachment-picker.disabled{color:#8a837b;background:#eeeae4}.chat-composer .web-input{min-width:0;flex:1}.chat-send{width:2.75rem;flex:0 0 auto}.version-line{padding:.8rem 0 .5rem;color:#837a70;font-size:.6rem;font-weight:500;letter-spacing:.025rem;text-align:center}.audit-summary-copy{display:block;margin-top:.2rem;color:#837a70;font-size:.575rem}.audit-card{display:flex;min-width:0;flex-direction:column;gap:.45rem;padding:.65rem}.audit-head,.audit-foot{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:.5rem}.audit-person,.audit-meta{min-width:0}.audit-name,.audit-actor,.audit-time,.audit-status,.audit-label,.audit-text,.audit-error-code,.audit-error-message,.audit-foot{display:block}.audit-name{color:var(--jiayu-text-strong);font-size:.725rem;font-weight:750}.audit-actor,.audit-time{margin-top:.15rem;color:#837a70;font-size:.55rem;font-variant-numeric:tabular-nums}.audit-meta{flex:0 0 auto;text-align:right}.audit-status{margin-top:.15rem;font-size:.55rem;font-weight:700}.audit-status.sent{color:var(--jiayu-status-green)}.audit-status.pending{color:var(--jiayu-status-orange)}.audit-status.failed{color:var(--jiayu-status-red)}.audit-message{min-width:0;padding:.5rem;border-radius:.5rem;background:#f7f3ec}.audit-message.output{background:var(--jiayu-brand-soft)}.audit-message.pending{background:var(--jiayu-icon-orange)}.audit-label,.file-result-label{color:#5b554e;font-size:.55rem;font-weight:700}.audit-text{margin-top:.2rem;overflow-wrap:anywhere;color:#25211d;font-size:.675rem;line-height:1.55;white-space:pre-wrap}.audit-text.muted{color:#837a70}.audit-error{min-width:0;padding:.45rem .5rem;border-radius:.45rem;color:var(--jiayu-error-text);background:var(--jiayu-icon-red)}.audit-error-code{font-size:.55rem;font-weight:750;overflow-wrap:anywhere}.audit-error-message{margin-top:.2rem;font-size:.6rem;line-height:1.45}.audit-foot{padding-top:.4rem;border-top:.025rem solid rgba(0,0,0,.055);color:#837a70;font-size:.55rem;font-variant-numeric:tabular-nums}.load-more{margin-top:.7rem}.files-tools{min-height:1.45rem;margin-top:.4rem}.sync-line{min-width:0;color:var(--jiayu-text-hint);font-size:var(--jiayu-hint-size)}.sync-line.error{color:var(--jiayu-error-text)}.file-job-row{width:100%;min-width:0;min-height:2.3rem;margin:0;padding:.3rem .2rem;box-sizing:border-box;border:0;border-bottom:.025rem solid rgba(0,0,0,.06);border-radius:0;display:flex;align-items:center;gap:.45rem;color:inherit;background:transparent;text-align:left}.file-job-row:last-child{border-bottom:0}.file-job-row.active{color:#255f31}.file-job-row.focused{background:#f5faF2}.file-job-main{min-width:0;flex:1}.file-job-title,.file-job-meta,.file-job-status,.file-result-text{display:block;min-width:0}.file-job-title{overflow-wrap:anywhere;color:var(--jiayu-text-strong);font-size:.7rem;font-weight:700;line-height:1.35}.file-job-meta{margin-top:.15rem;color:#777;font-size:.575rem;line-height:1.35}.file-job-status{flex:0 0 auto;padding:.175rem .325rem;border-radius:.35rem;color:#8a641c;background:var(--jiayu-icon-orange);font-size:.55rem;font-weight:700}.file-job-status.queued,.file-job-status.processing{color:#8a641c;background:var(--jiayu-icon-orange)}.file-job-status.done{color:var(--jiayu-brand);background:var(--jiayu-brand-soft)}.file-job-status.failed{color:#a0442a;background:#fff4ef}.file-detail-head{align-items:flex-start}.file-processing,.file-result{min-width:0;margin-top:.4rem;padding:.55rem;box-sizing:border-box;border-radius:.5rem;color:#555;background:var(--jiayu-input-background);font-size:.625rem;line-height:1.55}.file-processing{display:flex;align-items:center;gap:.35rem;color:#555;font-size:.625rem}.processing-dot{width:.45rem;height:.45rem;flex:0 0 auto;border-radius:50%;background:#d28a2c}.file-result.failure{color:#8a392b;background:#fff4ef}.file-result-text{margin-top:.25rem;overflow-wrap:anywhere;font-size:.625rem;line-height:1.55;white-space:pre-wrap}.file-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin-top:.45rem}.file-actions>:only-child,.file-actions>:last-child:nth-child(odd){grid-column:1 / -1}.editor-intro,.habit-hero{min-width:0;margin-top:.5rem;padding:.7rem;box-sizing:border-box;border-radius:var(--jiayu-card-radius);background:#fffdf9;box-shadow:0 .2rem .75rem #3a30220b}.editor-intro{display:flex;align-items:center;gap:.45rem}.editor-intro.habit{background:var(--jiayu-brand-soft)}.editor-mark{width:1.55rem;height:1.55rem;flex:0 0 auto;display:flex;align-items:center;justify-content:center;border-radius:var(--jiayu-icon-radius);color:#fff;background:#2f7d3b;font-size:.85rem;font-weight:700}.editor-properties{margin-top:.5rem}.count-field,.status-row,.calendar-head{display:flex;min-width:0;align-items:center;gap:.35rem}.count-field .web-input{flex:1}.status-row,.calendar-head{justify-content:space-between}.status-row{min-height:2.45rem;border-bottom:.025rem solid rgba(0,0,0,.055);font-size:.6rem}.status-row:last-of-type{border-bottom:0}.save-dock{position:sticky;z-index:10;bottom:calc(.3rem + env(safe-area-inset-bottom));margin-top:.6rem;padding:.3rem;border:.025rem solid #e5ddd3;border-radius:.6rem;background:rgba(255,252,247,.96)}.habit-title{display:block;color:#171714;font-size:1rem;font-weight:760;line-height:1.35}.habit-checkin{width:100%;min-height:2.2rem;margin:.7rem 0 0;border:0;border-radius:.6rem;color:#fff;background:#2f7d3b;font-size:.725rem;font-weight:700}.habit-checkin.checked{color:#246c31;background:#dff0da}.habit-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;margin-top:.4rem}.habit-stat{min-width:0;padding:.55rem .25rem;border-radius:var(--jiayu-card-radius);background:#fffdf9;text-align:center}.habit-stat-value{display:block;color:#2f7d3b;font-size:.8rem;font-weight:760}.month-button{width:1.55rem;height:1.35rem;min-width:0;margin:0;padding:0;border:0;border-radius:.4rem;color:#2f7d3b;background:#edf7e9;font-size:1rem;line-height:1.35rem}.weekday-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}.weekday-row{margin-top:.55rem;color:#9a9289;font-size:.525rem}.calendar-grid{margin-top:.25rem;gap:.125rem}.calendar-cell{min-width:0;min-height:1.9rem;padding:.15rem .05rem;box-sizing:border-box;border-radius:.45rem;color:#4a453f;background:#f7f4ef;font-size:.575rem}.calendar-cell.completed{color:#fff;background:#62a568}.calendar-cell.missed{color:#a76326;background:#fff0df}.calendar-cell.future,.calendar-cell.outside,.calendar-cell.blank{opacity:1;color:#c5beb5;background:transparent}.calendar-mark{display:block;font-weight:750}.calendar-legend{display:block;margin-top:.45rem;color:#8a8279;font-size:.5rem;text-align:center}.backfill-editor{margin-bottom:.4rem;padding:.2rem .45rem .45rem;border-radius:.5rem;background:#f5f8f1}@media (max-width: 420px){.form-grid,.action-row{grid-template-columns:minmax(0,1fr)}.row-actions{flex-direction:column}.data-row{flex-wrap:wrap}}.status-green{color:var(--jiayu-brand)}.status-orange{color:#a65f00}.status-muted{color:#777}.tabular{font-variant-numeric:tabular-nums}.control-chevron{width:var(--jiayu-chevron-size);height:var(--jiayu-chevron-size);display:block;flex:0 0 var(--jiayu-chevron-size)}.game-lobby-page{display:flex;min-width:0;flex-direction:column}.game-lobby-page .continue-card{display:flex;align-items:center;min-height:2.9rem}.game-lobby-page .continue-copy,.game-lobby-page .match-main{flex:1;min-width:0}.game-lobby-page .continue-label{display:block;color:var(--jiayu-brand);font-size:.55rem;font-weight:800}.game-lobby-page .continue-title{display:block;margin-top:.15rem;color:var(--jiayu-text-strong);font-size:.75rem;font-weight:800}.game-lobby-page .continue-meta,.game-lobby-page .option-desc{display:block;margin-top:.2rem;color:#777;font-size:.575rem;line-height:1.4}.game-lobby-page .mode-grid,.game-lobby-page .board-size-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.game-lobby-page .board-size-grid{margin-bottom:.6rem}.game-lobby-page .board-size-grid.four-options{grid-template-columns:repeat(2,minmax(0,1fr))}.game-lobby-page .board-size-chip{min-width:0;min-height:2.4rem;box-sizing:border-box;padding:.45rem .35rem;border-radius:.5rem;background:var(--jiayu-input-background)}.game-lobby-page .board-size-chip.selected{background:var(--jiayu-brand-soft);box-shadow:inset 0 0 0 .05rem var(--jiayu-brand)}.game-lobby-page .board-size-chip.busy,.game-lobby-page .option-card.busy{opacity:.62}.game-lobby-page .option-card{display:flex;align-items:center;justify-content:center;gap:.25rem;min-width:0;min-height:2.2rem;box-sizing:border-box;padding:.35rem .3rem;border-radius:.5rem;background:var(--jiayu-input-background)}.game-lobby-page .option-card.selected,.game-lobby-page .opponent-chip.selected,.game-lobby-page .time-chip.selected{background:var(--jiayu-brand-soft);box-shadow:inset 0 0 0 .05rem var(--jiayu-brand)}.game-lobby-page .mode-icon{flex-shrink:0;width:.85rem;height:.85rem}.game-lobby-page .option-title,.game-lobby-page .time-title{display:block;color:var(--jiayu-text-strong);font-size:.625rem;font-weight:800}.game-lobby-page .opponent-list,.game-lobby-page .time-grid{display:flex;gap:.35rem;margin-top:.45rem;overflow-x:auto}.game-lobby-page .opponent-chip{display:flex;align-items:center;flex-shrink:0;min-height:2.2rem;padding:0 .5rem;border-radius:24.975rem;background:var(--jiayu-input-background)}.game-lobby-page .opponent-avatar{width:1.2rem;height:1.2rem;flex-shrink:0;margin-right:.25rem;border-radius:.6rem;color:var(--jiayu-brand);background:#fff;font-size:.55rem;font-weight:800;line-height:1.2rem;text-align:center}.game-lobby-page .opponent-name{max-width:4.5rem;overflow:hidden;color:var(--jiayu-text-strong);font-size:.6rem;text-overflow:ellipsis;white-space:nowrap}.game-lobby-page .invite-panel{margin-top:.45rem;padding:.45rem;border-radius:.45rem;background:var(--jiayu-input-background)}.game-lobby-page .created-invite,.game-lobby-page .invite-join-row{display:flex;min-width:0;align-items:center;gap:.3rem}.game-lobby-page .created-invite+.invite-join-row{margin-top:.35rem}.game-lobby-page .invite-code-value{flex:1;min-width:0;color:var(--jiayu-text-strong);font-size:.9rem;font-weight:850;letter-spacing:.2rem}.game-lobby-page .invite-input{flex:1;width:auto;min-width:0;height:1.8rem;box-sizing:border-box;padding:0 .45rem;border:0;border-radius:.35rem;color:var(--jiayu-text-strong);background:#fff;font-size:max(16PX,.7rem)}.game-lobby-page .invite-action{width:auto;min-width:0;min-height:1.8rem;flex-shrink:0;margin:0;padding:0 .55rem;display:flex;align-items:center;justify-content:center;border:0;border-radius:.35rem;color:var(--jiayu-brand);background:#fff;font-size:.6rem;font-weight:750}.game-lobby-page .invite-action.primary{color:#fff;background:var(--jiayu-brand)}.game-lobby-page .time-chip{flex-shrink:0;min-width:3.55rem;min-height:1.9rem;box-sizing:border-box;padding:0 .5rem;display:flex;align-items:center;justify-content:center;border-radius:.45rem;background:var(--jiayu-input-background);text-align:center}.game-lobby-page .custom-time-chip{width:auto}.game-lobby-page .time-migration-notice{display:block;margin-top:.35rem;color:#9b650d;font-size:.55rem;line-height:1.5}.game-lobby-page .custom-time{margin-top:.45rem;padding:.45rem;border-radius:.45rem;background:var(--jiayu-input-background)}.game-lobby-page .custom-time-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.game-lobby-page .time-field{display:flex;align-items:center;gap:.2rem;min-width:0;color:#666;font-size:.55rem}.game-lobby-page .time-field .web-input{width:2.05rem;min-width:0;height:2.2rem;flex:0 0 2.05rem;padding:0;border-radius:.3rem;color:var(--jiayu-text-strong);background:#fff;font-size:max(16PX,.625rem);font-weight:800;text-align:center}.primary-action{width:100%;min-width:0;min-height:1.9rem;margin:0;padding:.35rem .6rem;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border:0;border-radius:.5rem;color:#fff;background:var(--jiayu-brand);font-size:.7rem;font-weight:650;line-height:1.25;text-align:center}.game-lobby-page .create-button{min-height:2.3rem;margin-top:.5rem}.game-lobby-page .empty-line{display:block;padding:.65rem 0 .2rem;color:var(--jiayu-text-hint);font-size:.625rem}.game-lobby-page .empty-line.error-line{color:var(--jiayu-error-text)}.game-lobby-page .lobby-state{padding-left:.2rem}.game-lobby-page .section-link{display:flex;min-height:1.1rem;align-items:center;gap:.15rem;color:var(--jiayu-link);font-size:.6rem;line-height:1.1rem}.game-lobby-page .section-actions{display:flex;flex:0 0 auto;align-items:center;gap:.55rem}.game-lobby-page .danger-link{color:#a33b31}.game-lobby-page .match-swipe{position:relative;min-width:0;overflow:hidden;border-top:.025rem solid rgba(0,0,0,.06)}.game-lobby-page .match-swipe:first-of-type{border-top:none}.game-lobby-page .match-row{position:relative;z-index:1;display:flex;align-items:center;gap:.45rem;min-height:2.6rem;box-sizing:border-box;background:var(--jiayu-card-background);transition:transform .18s ease}.game-lobby-page .match-row.revealed{padding-right:.6rem;transform:translate(-3.2rem)}.game-lobby-page .match-delete{position:absolute;top:0;right:0;bottom:0;width:3.2rem;min-width:0;height:100%;margin:0;padding:0;display:flex;align-items:center;justify-content:center;border:0;border-radius:0;color:#fff;background:#c4493d;font-size:.6rem;transform:translate(100%);transition:transform .18s ease}.game-lobby-page .match-delete.revealed{transform:translate(0)}.game-lobby-page .match-title{display:block;overflow:hidden;color:var(--jiayu-text-strong);font-size:.7rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.game-lobby-page .match-time{display:block;margin-top:.2rem;color:#777;font-size:.575rem}.game-lobby-page .match-state{flex-shrink:0;font-size:.6rem}.game-lobby-page .history-actions{display:flex;justify-content:center;gap:.45rem;padding-top:.45rem}.game-lobby-page .history-link{width:auto;min-width:0;min-height:1.5rem;margin:0;padding:0 .5rem;display:flex;align-items:center;justify-content:center;border:0;color:var(--jiayu-brand);background:transparent;font-size:.575rem;font-weight:700}.play-shell{display:flex;min-width:0;flex-direction:column}.play-shell .match-summary{display:flex;min-width:0;align-items:flex-start;gap:.45rem;padding:0 .2rem .45rem}.play-shell .match-summary-main{flex:1;min-width:0}.play-shell .match-title{display:block;color:var(--jiayu-text-strong);font-size:.8rem;font-weight:800}.play-shell .match-subtitle,.play-shell .player-side{display:block;margin-top:.15rem;color:#777;font-size:.55rem}.play-shell .match-result{flex-shrink:0;color:var(--jiayu-brand);font-size:.6rem;font-weight:800}.play-shell .player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem;margin-bottom:.4rem}.play-shell .player-card{display:flex;align-items:center;min-width:0;min-height:2.05rem;box-sizing:border-box;padding:.3rem .4rem;border-radius:.45rem;background:rgba(255,255,255,.78)}.play-shell .player-card.active{background:var(--jiayu-brand-soft);box-shadow:inset 0 0 0 .05rem var(--jiayu-brand)}.play-shell .player-stone{width:.95rem;height:.95rem;flex-shrink:0;margin-right:.3rem;border-radius:50%;background:var(--jiayu-text-strong)}.play-shell .player-stone.white{background:#fff;box-shadow:0 0 0 .025rem #0003}.play-shell .player-stone.viewer{background:#d8d2c7}.play-shell .player-copy{flex:1;min-width:0}.play-shell .player-name{display:block;overflow:hidden;color:var(--jiayu-text-strong);font-size:.625rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.play-shell .turn-dot{width:.3rem;height:.3rem;flex-shrink:0;border-radius:50%;background:var(--jiayu-brand)}.play-shell .match-info{min-width:0;margin-top:.45rem;overflow:hidden;border-radius:.45rem;background:rgba(255,255,255,.78)}.play-shell .info-row{display:flex;min-width:0;justify-content:space-between;gap:.45rem;min-height:1.75rem;padding:0 .45rem;border-top:.025rem solid rgba(0,0,0,.06);color:#666;font-size:.575rem;line-height:1.75rem}.play-shell .info-row:first-child{border-top:none}.play-shell .info-label{flex-shrink:0;color:#8a8178}.play-shell .info-value{min-width:0;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.play-shell .request-banner{display:block;min-width:0;margin-top:.3rem;padding:.45rem;box-sizing:border-box;border-radius:.4rem;color:#8a5b18;background:#fff3df;font-size:.6rem}.play-shell .invitation-actions,.play-shell .play-actions{display:flex;min-width:0;flex-wrap:wrap;gap:.3rem;margin-top:.45rem}.play-shell .invitation-actions{margin:0 0 .4rem}.play-shell .play-action{width:auto;min-width:3.6rem;min-height:2.2rem;flex:1 1 3.6rem;margin:0;padding:0 .45rem;display:flex;align-items:center;justify-content:center;border:0;border-radius:.5rem;color:var(--jiayu-brand);background:var(--jiayu-brand-soft);font-size:.625rem;font-weight:800}.play-shell .play-action.wide{min-width:5.1rem;flex-basis:5.1rem}.play-shell .play-action.primary{color:#fff;background:var(--jiayu-brand)}.play-shell .play-action.danger{color:#9a432f;background:#fff2ed}.play-shell .play-footer{display:grid;grid-template-columns:repeat(2,1fr);gap:.3rem;padding:.6rem 0 0}.play-shell .footer-link{width:100%;min-width:0;min-height:2.2rem;margin:0;padding:0;display:flex;align-items:center;justify-content:center;border:0;border-radius:.45rem;color:#686159;background:rgba(255,255,255,.76);font-size:.6rem;font-weight:750;text-align:center}.play-shell .board-stage{display:flex;width:100%;min-width:0;justify-content:center}.play-shell .game-board{display:grid;width:17.75rem;max-width:100%;aspect-ratio:1;margin:0 auto;overflow:hidden;border:.05rem solid #9e6b28;box-sizing:border-box;background:#e7bb6c}.play-shell .game-board.board-3{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:.15rem;padding:.15rem;border:none;border-radius:.55rem;background:var(--jiayu-brand)}.play-shell .game-cell{position:relative;width:100%;min-width:0;min-height:0;height:auto;margin:0;padding:0;border:0;border-radius:0;color:inherit;background:transparent;line-height:1;overflow:visible}.play-shell .game-board.line-board .game-cell:before,.play-shell .game-board.line-board .game-cell:after{position:absolute;z-index:0;content:"";background:rgba(88,54,18,.68)}.play-shell .game-board.line-board .game-cell:before{top:0;bottom:0;left:50%;width:.025rem;transform:translate(-50%)}.play-shell .game-board.line-board .game-cell:after{top:50%;right:0;left:0;height:.025rem;transform:translateY(-50%)}.play-shell .game-board.board-3 .game-cell{border-radius:.35rem;background:#fffaf3}.play-shell .game-stone{position:absolute;top:50%;left:50%;z-index:2;width:.85rem;height:.85rem;transform:translate(-50%,-50%);border-radius:50%}.play-shell .game-board.board-9 .game-stone{width:1.45rem;height:1.45rem}.play-shell .game-board.board-13 .game-stone{width:1.05rem;height:1.05rem}.play-shell .game-board.board-19 .game-stone{width:.725rem;height:.725rem}.play-shell .game-board.board-3 .game-stone{width:2.6rem;height:2.6rem}.play-shell .game-stone.black{background:var(--jiayu-text-strong);box-shadow:0 .075rem .175rem #00000047}.play-shell .game-stone.white{background:#fff;box-shadow:0 0 0 .025rem #0000003d,0 .075rem .175rem #00000029}.play-page{display:flex;min-width:0;flex-direction:column}.play-page .play-toolbar,.play-page .play-footer{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:.4rem;min-height:2.2rem}.play-page .toolbar-link{width:auto;min-width:0;min-height:2.2rem;margin:0;padding:0 .45rem;box-sizing:border-box;display:flex;align-items:center;border:0;border-radius:24.975rem;color:#514b44;background:rgba(255,255,255,.72);font-size:.575rem;font-weight:750}.play-page .match-summary{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:.55rem .6rem;border-radius:.6rem;background:#fff}.play-page .summary-copy{min-width:0;flex:1}.play-page .summary-title{display:block;color:var(--jiayu-text-strong);font-size:.75rem;font-weight:850}.play-page .summary-line{display:block;margin-top:.15rem;color:var(--jiayu-text-soft);font-size:.575rem;line-height:1.35}.play-page .match-state{flex-shrink:0;padding:.25rem .4rem;border-radius:24.975rem;background:#f1ede6;font-size:.55rem;font-weight:800}.play-page .player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin-top:.35rem}.play-page .player-card{min-width:0;min-height:2.3rem;box-sizing:border-box;padding:.375rem .45rem;border:.05rem solid transparent;border-radius:.5rem;background:rgba(255,255,255,.78)}.play-page .player-card.active{border-color:var(--jiayu-text-strong);background:#fff}.play-page .player-side{display:block;color:#8a8278;font-size:.525rem}.play-page .player-name{display:block;margin-top:.125rem;overflow:hidden;color:var(--jiayu-text-strong);font-size:.625rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.play-page.xiangqi .player-card.active{border-color:#a53a2a}.play-page .request-banner{display:block;min-width:0;margin-top:.35rem;padding:.45rem .5rem;box-sizing:border-box;border-radius:.45rem;color:#6f4a16;background:#fff2d9;font-size:.6rem;line-height:1.45}.play-page .pending-line{display:block;min-height:1.3rem;padding:.35rem .2rem 0;color:#8c857b;font-size:.575rem;text-align:center}.play-page .pending-line.active{color:#a65f00}.play-page .action-panel{display:flex;min-width:0;flex-wrap:wrap;gap:.3rem;margin-top:.45rem;padding:.4rem;border-radius:.6rem;background:rgba(255,255,255,.8)}.play-page .play-action{width:auto;min-width:3.6rem;min-height:2.2rem;flex:1 1 3.6rem;margin:0;padding:0 .3rem;display:flex;align-items:center;justify-content:center;border:0;border-radius:.45rem;color:var(--jiayu-text-strong);background:#eee9e0;font-size:.625rem;font-weight:800}.play-page .play-action.primary{color:#fff;background:var(--jiayu-text-strong)}.play-page .play-action.danger{color:#a12f27;background:#fff0ed}.play-page .play-action.wide{flex-basis:100%}.play-page .play-footer{margin-top:.35rem}.play-page .footer-link{width:100%;min-width:0;min-height:2.2rem;flex:1;margin:0;padding:0;display:flex;align-items:center;justify-content:center;border:0;border-radius:.45rem;color:#686159;background:rgba(255,255,255,.76);font-size:.6rem;font-weight:750;text-align:center}.play-page .board-stage{display:flex;width:100%;min-width:0;justify-content:center}.play-page .board-shell{width:17.75rem;max-width:100%;box-sizing:border-box;margin:.45rem auto 0;overflow:hidden;border-radius:.3rem;box-shadow:0 .4rem 1rem #2d23141f}.play-page .board-shell.chess,.play-page .board-shell.go{aspect-ratio:1}.play-page .board-shell.go{border:.05rem solid #805f2b;box-shadow:0 .4rem 1rem #2d231426}.play-page .board-shell.xiangqi{aspect-ratio:9 / 10;border:.05rem solid #694b2e;border-radius:.5rem;background:#f2d190;box-shadow:0 .3rem .7rem #694b2e24}.play-page .chess-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));width:100%;height:100%;background:#e7d8bb}.play-page .chess-cell{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-width:0;min-height:0;margin:0;padding:0;box-sizing:border-box;overflow:hidden;border:0;border-radius:0;color:inherit;background:transparent;line-height:1}.play-page .chess-cell.light{background:#eadfc9}.play-page .chess-cell.dark{background:#9d7956}.play-page .selection-ring{position:absolute;z-index:1;inset:.125rem;box-sizing:border-box;border:.125rem solid #d99c31;pointer-events:none}.play-page .chess-piece{position:relative;z-index:2;font-family:Segoe UI Symbol,"Noto Sans Symbols 2",serif;font-size:1.8rem;line-height:1;pointer-events:none}.play-page .chess-cell .move-hint{position:absolute;z-index:3;display:flex;align-items:center;justify-content:center;width:.6rem;height:.6rem;border-radius:50%;color:#fff;background:rgba(47,125,59,.78);font-size:.6rem;pointer-events:none}.play-page .chess-cell .move-hint.cross{width:1.3rem;height:1.3rem;color:#9e2e25;background:rgba(255,255,255,.76)}.play-page .go-board{display:grid;width:100%;height:100%;background:#e5b85f}.play-page .go-cell{position:relative;width:100%;min-width:0;min-height:0;height:auto;margin:0;padding:0;border:0;border-radius:0;color:inherit;background:transparent;line-height:1;overflow:visible}.play-page .go-cell:before,.play-page .go-cell:after{position:absolute;z-index:0;content:"";background:rgba(55,39,20,.72)}.play-page .go-cell:before{top:50%;right:0;left:0;height:.025rem;transform:translateY(-50%)}.play-page .go-cell:after{top:0;bottom:0;left:50%;width:.025rem;transform:translate(-50%)}.play-page .go-cell.edge-left:before{left:50%}.play-page .go-cell.edge-right:before{right:50%}.play-page .go-cell.edge-top:after{top:50%}.play-page .go-cell.edge-bottom:after{bottom:50%}.play-page .go-star{position:absolute;top:50%;left:50%;z-index:1;width:.25rem;height:.25rem;border-radius:50%;transform:translate(-50%,-50%);background:#4c351c}.play-page .go-stone{position:absolute;top:50%;left:50%;z-index:2;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 .125rem .25rem #00000047}.play-page .board-9 .go-stone{width:1.55rem;height:1.55rem}.play-page .board-13 .go-stone{width:1.1rem;height:1.1rem}.play-page .board-19 .go-stone{width:.775rem;height:.775rem}.play-page .go-stone.black{background:radial-gradient(circle at 34% 28%,#4d4d4d,#090909 70%)}.play-page .go-stone.white{border:.025rem solid rgba(0,0,0,.18);background:radial-gradient(circle at 34% 28%,#fff,#dedbd4 72%)}.xiangqi-board,.board-xiangqi{position:relative;overflow:hidden;background:#f2d190}.play-page .xiangqi-board{display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(10,1fr);width:100%;height:100%}.xiangqi-board:before,.board-xiangqi:before{position:absolute;top:45%;right:0;left:0;z-index:1;height:10%;pointer-events:none;content:"";background:rgba(47,125,59,.08)}.play-page .xiangqi-cell{position:relative;width:100%;min-width:0;min-height:0;height:auto;margin:0;padding:0;box-sizing:border-box;border:0;border-radius:0;color:inherit;background:transparent;line-height:1;overflow:visible}.xiangqi-cell:before,.xiangqi-cell:after,.board-xiangqi .replay-cell:before,.board-xiangqi .replay-cell:after{position:absolute;z-index:0;pointer-events:none;content:"";background:#b77a32}.xiangqi-cell:before,.board-xiangqi .replay-cell:before{top:50%;right:0;left:0;height:.025rem;transform:translateY(-50%)}.xiangqi-cell:after,.board-xiangqi .replay-cell:after{top:0;bottom:0;left:50%;width:.025rem;transform:translate(-50%)}.xiangqi-cell.edge-left:before,.board-xiangqi .replay-cell.edge-left:before{left:50%}.xiangqi-cell.edge-right:before,.board-xiangqi .replay-cell.edge-right:before{right:50%}.xiangqi-cell.edge-top:after,.board-xiangqi .replay-cell.edge-top:after{top:50%}.xiangqi-cell.edge-bottom:after,.board-xiangqi .replay-cell.edge-bottom:after{bottom:50%}.xiangqi-cell.river-top:after,.board-xiangqi .replay-cell.river-top:after{bottom:50%}.xiangqi-cell.river-bottom:after,.board-xiangqi .replay-cell.river-bottom:after{top:50%}.xiangqi-cell.river-top.edge-left:after,.xiangqi-cell.river-top.edge-right:after,.xiangqi-cell.river-bottom.edge-left:after,.xiangqi-cell.river-bottom.edge-right:after,.board-xiangqi .replay-cell.river-top.edge-left:after,.board-xiangqi .replay-cell.river-top.edge-right:after,.board-xiangqi .replay-cell.river-bottom.edge-left:after,.board-xiangqi .replay-cell.river-bottom.edge-right:after{top:0;bottom:0}.xiangqi-palace{position:absolute;left:38.8889%;z-index:1;width:22.2222%;height:20%;pointer-events:none}.xiangqi-palace.palace-top{top:5%}.xiangqi-palace.palace-bottom{bottom:5%}.xiangqi-palace:before,.xiangqi-palace:after{position:absolute;top:50%;left:50%;width:141.5%;height:.025rem;transform-origin:center;content:"";background:#b77a32}.xiangqi-palace:before{transform:translate(-50%,-50%) rotate(45deg)}.xiangqi-palace:after{transform:translate(-50%,-50%) rotate(-45deg)}.river-inscription{position:absolute;top:45%;z-index:2;display:flex;align-items:center;justify-content:center;width:30%;height:10%;pointer-events:none;color:var(--jiayu-brand);font-family:PingFang SC,Microsoft YaHei,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.15rem}.river-chu{left:10%}.river-han{right:10%}.board-point-mark{position:absolute;top:50%;left:50%;z-index:1;width:.75rem;height:.75rem;transform:translate(-50%,-50%);pointer-events:none;background:linear-gradient(#b77a32,#b77a32) left top / .2rem .05rem no-repeat,linear-gradient(#b77a32,#b77a32) left top / .05rem .2rem no-repeat,linear-gradient(#b77a32,#b77a32) right top / .2rem .05rem no-repeat,linear-gradient(#b77a32,#b77a32) right top / .05rem .2rem no-repeat,linear-gradient(#b77a32,#b77a32) left bottom / .2rem .05rem no-repeat,linear-gradient(#b77a32,#b77a32) left bottom / .05rem .2rem no-repeat,linear-gradient(#b77a32,#b77a32) right bottom / .2rem .05rem no-repeat,linear-gradient(#b77a32,#b77a32) right bottom / .05rem .2rem no-repeat}.xiangqi-cell.edge-left .board-point-mark,.board-xiangqi .replay-cell.edge-left .board-point-mark{background:linear-gradient(#b77a32,#b77a32) right top / .2rem .05rem no-repeat,linear-gradient(#b77a32,#b77a32) right top / .05rem .2rem no-repeat,linear-gradient(#b77a32,#b77a32) right bottom / .2rem .05rem no-repeat,linear-gradient(#b77a32,#b77a32) right bottom / .05rem .2rem no-repeat}.xiangqi-cell.edge-right .board-point-mark,.board-xiangqi .replay-cell.edge-right .board-point-mark{background:linear-gradient(#b77a32,#b77a32) left top / .2rem .05rem no-repeat,linear-gradient(#b77a32,#b77a32) left top / .05rem .2rem no-repeat,linear-gradient(#b77a32,#b77a32) left bottom / .2rem .05rem no-repeat,linear-gradient(#b77a32,#b77a32) left bottom / .05rem .2rem no-repeat}.xiangqi-piece{position:absolute;top:50%;left:50%;z-index:3;display:flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;box-sizing:border-box;border:.05rem solid #b77a32;border-radius:50%;transform:translate(-50%,-50%);color:#694b2e;background:#f2d190;box-shadow:0 .075rem #d5ac68,0 .15rem .3rem #694b2e1f;font-family:PingFang SC,Microsoft YaHei,sans-serif;font-size:.85rem;font-weight:800;line-height:1;text-align:center}.xiangqi-piece.white,.xiangqi-piece.red{color:var(--jiayu-error-text)}.xiangqi-piece.black{color:#694b2e}.xiangqi-last-marker{position:absolute;top:50%;left:50%;z-index:2;box-sizing:border-box;transform:translate(-50%,-50%);pointer-events:none}.xiangqi-last-marker.from{width:.55rem;height:.55rem;border:.075rem solid rgba(47,125,59,.65);border-radius:50%;background:#f2d190;box-shadow:0 0 0 .1rem #f2d190,0 0 0 .175rem #2f7d3b14}.xiangqi-last-marker.to{width:1.8rem;height:1.8rem;border:.075rem solid var(--jiayu-brand);border-radius:50%;box-shadow:0 0 0 .1rem #2f7d3b1a}.play-page .xiangqi-cell .move-hint{position:absolute;top:50%;left:50%;z-index:4;box-sizing:border-box;transform:translate(-50%,-50%);pointer-events:none}.play-page .xiangqi-cell .move-hint.dot{width:.45rem;height:.45rem;border-radius:50%;background:var(--jiayu-brand);box-shadow:0 0 0 .15rem #2f7d3b1f}.play-page .xiangqi-cell.occupied.hint-dot .move-hint.dot{width:1.8rem;height:1.8rem;border:.075rem solid var(--jiayu-brand);background:transparent;box-shadow:0 0 0 .1rem #2f7d3b1a}.play-page .xiangqi-cell .move-hint.cross{color:var(--jiayu-error-text);font-size:1.05rem;font-weight:800;line-height:1}.xiangqi-cell.selected .xiangqi-piece{box-shadow:0 0 0 .1rem var(--jiayu-brand),0 0 0 .225rem #2f7d3b1f,0 .075rem #d5ac68}.board-error{width:100%;padding:1.15rem .5rem;box-sizing:border-box;border:.025rem solid #e5ddd3;border-radius:.5rem;color:#965148;background:#f9ece8;font-size:.55rem;text-align:center}.undo-request-modal{position:fixed;z-index:500;inset:0;padding:1.2rem 1rem calc(1.2rem + env(safe-area-inset-bottom));box-sizing:border-box;display:flex;align-items:center;justify-content:center;background:rgba(18,16,13,.58)}.undo-request-card{width:100%;max-width:15.5rem;min-width:0;padding:.95rem .85rem .75rem;box-sizing:border-box;border-radius:.8rem;background:#fffdf9;box-shadow:0 .75rem 2.25rem #0000003d;text-align:center}.undo-request-label{display:block;color:var(--jiayu-brand);font-size:.575rem;font-weight:800;letter-spacing:.1rem}.undo-request-title{display:block;margin-top:.35rem;color:var(--jiayu-text-strong);font-size:.85rem;font-weight:850;line-height:1.35}.undo-request-copy{display:block;margin-top:.4rem;color:var(--jiayu-text-soft);font-size:.65rem;line-height:1.55}.undo-request-actions{display:flex;gap:.4rem;margin-top:.8rem}.undo-request-button{width:auto;min-width:0;min-height:2.2rem;flex:1;margin:0;padding:0;display:flex;align-items:center;justify-content:center;border:0;border-radius:.5rem;font-size:.7rem;font-weight:800}.undo-request-button.reject{color:#a12f27;background:#fff0ed}.undo-request-button.approve{color:#fff;background:var(--jiayu-brand)}.replay-page{display:flex;min-width:0;flex-direction:column}.replay-page .state-panel{padding:1.3rem .8rem;text-align:center}.replay-page .state-panel.error .state-copy{color:#8f3f31}.replay-page .replay-summary{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:.5rem;min-height:2.6rem;box-sizing:border-box;padding:.45rem .55rem;border-radius:.55rem;background:#fff}.replay-page .summary-main{min-width:0;flex:1}.replay-page .summary-title{display:block;overflow:hidden;color:var(--jiayu-text-strong);font-size:.725rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.replay-page .summary-result{display:block;margin-top:.15rem;color:var(--jiayu-text-soft);font-size:.575rem}.replay-page .summary-count{flex-shrink:0;color:var(--jiayu-text-strong);font-size:.625rem;font-weight:800}.replay-page .board-stage{display:flex;width:100%;min-width:0;justify-content:center}.replay-page .board-shell{width:17.75rem;max-width:100%;aspect-ratio:1;margin:.45rem auto 0;overflow:hidden;border-radius:.3rem;box-shadow:0 .4rem 1rem #2d23141f}.replay-page .board-shell.portrait{aspect-ratio:71 / 79;box-sizing:border-box;border:.05rem solid #694b2e;border-radius:.5rem;background:#f2d190;box-shadow:0 .3rem .7rem #694b2e24}.replay-page .board-shell.go,.replay-page .board-shell.gomoku{border:.05rem solid #9e6b28;box-sizing:border-box}.replay-page .board-shell.tictactoe{width:16rem;border:.1rem solid #694b2e;box-sizing:border-box;border-radius:.7rem;box-shadow:0 .25rem #d5ac68,0 .5rem 1.05rem #2d231429}.replay-page .replay-board{display:grid;width:100%;height:100%}.replay-page .replay-cell{position:relative;min-width:0;min-height:0;box-sizing:border-box}.replay-page .replay-cell.last-from{box-shadow:inset 0 0 0 .075rem #2f7d3b6b}.replay-page .replay-cell.last-to{box-shadow:inset 0 0 0 .1rem var(--jiayu-brand)}.replay-page .board-chess{background:#e7d8bb}.replay-page .board-chess .replay-cell{display:flex;align-items:center;justify-content:center}.replay-page .board-chess .replay-cell.light{background:#eadfc9}.replay-page .board-chess .replay-cell.dark{background:#9d7956}.replay-page .chess-piece{position:relative;z-index:2;font-family:Segoe UI Symbol,"Noto Sans Symbols 2",serif;font-size:1.8rem;line-height:1}.replay-page .board-xiangqi .replay-cell.last-from,.replay-page .board-xiangqi .replay-cell.last-to{box-shadow:none}.replay-page .board-gomoku,.replay-page .board-go{background:#e7bb6c}.replay-page .board-gomoku .replay-cell:before,.replay-page .board-gomoku .replay-cell:after,.replay-page .board-go .replay-cell:before,.replay-page .board-go .replay-cell:after{position:absolute;z-index:0;content:"";background:rgba(88,54,18,.68)}.replay-page .board-gomoku .replay-cell:before,.replay-page .board-go .replay-cell:before{top:0;bottom:0;left:50%;width:.025rem;transform:translate(-50%)}.replay-page .board-gomoku .replay-cell:after,.replay-page .board-go .replay-cell:after{top:50%;right:0;left:0;height:.025rem;transform:translateY(-50%)}.replay-page .board-go .replay-cell.edge-left:after{left:50%}.replay-page .board-go .replay-cell.edge-right:after{right:50%}.replay-page .board-go .replay-cell.edge-top:before{top:50%}.replay-page .board-go .replay-cell.edge-bottom:before{bottom:50%}.replay-page .go-star{position:absolute;top:50%;left:50%;z-index:1;width:.25rem;height:.25rem;border-radius:50%;transform:translate(-50%,-50%);background:#4c351c}.replay-page .board-tictactoe{background-color:#f2d190;background-image:linear-gradient(#b77a32,#b77a32),linear-gradient(#b77a32,#b77a32),linear-gradient(90deg,#b77a32,#b77a32),linear-gradient(90deg,#b77a32,#b77a32);background-repeat:no-repeat;background-position:33.333% center,66.667% center,center 33.333%,center 66.667%;background-size:.025rem calc(100% - 1.2rem),.025rem calc(100% - 1.2rem),calc(100% - 1.2rem) .025rem,calc(100% - 1.2rem) .025rem}.replay-page .board-tictactoe .replay-cell{background:transparent}.replay-page .board-stone{position:absolute;top:50%;left:50%;z-index:2;width:.85rem;height:.85rem;transform:translate(-50%,-50%);border-radius:50%}.replay-page .board-go.board-size-9 .board-stone,.replay-page .board-gomoku.board-size-9 .board-stone{width:1.45rem;height:1.45rem}.replay-page .board-go.board-size-13 .board-stone,.replay-page .board-gomoku.board-size-13 .board-stone{width:1.05rem;height:1.05rem}.replay-page .board-go.board-size-19 .board-stone,.replay-page .board-gomoku.board-size-19 .board-stone{width:.725rem;height:.725rem}.replay-page .board-stone.black{background:var(--jiayu-text-strong);box-shadow:0 .075rem .175rem #00000047}.replay-page .board-stone.white{background:#fff;box-shadow:0 0 0 .025rem #0000003d,0 .075rem .175rem #00000029}.replay-page .board-tictactoe .board-stone.black{width:2.95rem;height:2.95rem;border-radius:0;background:transparent;box-shadow:none}.replay-page .board-tictactoe .board-stone.black:before,.replay-page .board-tictactoe .board-stone.black:after{position:absolute;top:50%;left:50%;width:2.95rem;height:.3rem;border-radius:24.975rem;content:"";background:var(--jiayu-brand)}.replay-page .board-tictactoe .board-stone.black:before{transform:translate(-50%,-50%) rotate(45deg)}.replay-page .board-tictactoe .board-stone.black:after{transform:translate(-50%,-50%) rotate(-45deg)}.replay-page .board-tictactoe .board-stone.white{width:2.7rem;height:2.7rem;border:.25rem solid #694b2e;box-sizing:border-box;background:#fffdf8;box-shadow:0 .1rem .225rem #694b2e2e}.replay-page .replay-status{margin-top:.45rem;padding:.5rem .55rem;border-radius:.5rem;background:rgba(255,255,255,.84)}.replay-page .step-label{display:block;min-height:.95rem;color:var(--jiayu-text-strong);font-size:.65rem;font-weight:750;line-height:.95rem}.replay-page .progress-track{height:.2rem;margin-top:.45rem;overflow:hidden;border-radius:.1rem;background:#ded8ce}.replay-page .progress-value{height:100%;border-radius:.1rem;background:var(--jiayu-brand);transition:width .16s ease}.replay-page .progress-copy{display:block;margin-top:.3rem;color:#7a736a;font-size:.55rem}.replay-page .replay-controls{display:flex;min-width:0;flex-wrap:wrap;gap:.25rem;margin-top:.4rem}.replay-page .replay-control{width:auto;min-width:3.1rem;min-height:2.2rem;flex:1 1 3.1rem;margin:0;padding:0 .3rem;display:flex;align-items:center;justify-content:center;border:0;border-radius:.45rem;color:var(--jiayu-text-strong);background:#eae5dc;font-size:.6rem;font-weight:750}.replay-page .replay-control.primary{color:#fff;background:var(--jiayu-text-strong)}.replay-page .readonly-note{display:block;padding:.55rem .2rem 0;color:#817a71;font-size:.55rem;text-align:center}.replay-page .state-action{width:100%;min-height:2.2rem;margin-top:.7rem;display:flex;align-items:center;justify-content:center;border:0;border-radius:.45rem;color:#fff;background:var(--jiayu-text-strong);font-size:.65rem;font-weight:800}.app-icon{width:1.45rem;height:1.45rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:.5rem;background:#f0eee8}.app-icon.green{background:var(--jiayu-icon-green)}.app-icon-image{width:62%;height:62%;display:block}.control-chevron{width:.7rem;height:.7rem;display:block;flex:0 0 .7rem}.control-chevron-right{transform:rotate(180deg)}.control-chevron-down{transform:rotate(-90deg)}.required-mark{margin-left:.1rem;color:#b43a2f;font-size:.5rem;font-weight:750;line-height:1}.fitness-set-input .weui-input,.fitness-search-input .weui-input,.fitness-title-input .weui-input,.fitness-text-input .weui-input{height:100%;color:inherit;background:transparent;font:inherit;text-align:inherit}.fitness-sync-row,.fitness-today-card,.fitness-shortcut,.fitness-history-section,.fitness-history-row,.fitness-history-card,.fitness-favorites-entry,.fitness-search-row,.fitness-search-box,.fitness-filters,.fitness-exercise-row,.fitness-exercise-main,.fitness-group-head,.fitness-favorites-heading,.fitness-form-card,.fitness-picker-row,.fitness-detail-heading,.fitness-detail-name-row,.fitness-media-card,.fitness-note-card,.fitness-note-head,.fitness-note-title-row,.fitness-note-meta-row,.fitness-source-line,.fitness-action-bar,.fitness-rest-timer,.fitness-record-date-card,.fitness-exercise-card,.fitness-exercise-head,.fitness-exercise-heading,.fitness-mode-picker,.fitness-set-grid,.fitness-treadmill-set-head,.fitness-treadmill-field-row,.fitness-save-dock{min-width:0;box-sizing:border-box}.fitness-sync-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.45rem;padding:.45rem .55rem;border-radius:.5rem;color:#7c4b21;background:#fff4e7}.fitness-sync-text{display:block;flex:1;min-width:0;font-size:.6rem;line-height:1.45}.fitness-sync-actions{display:flex;flex:none;align-items:center;gap:.25rem}.fitness-sync-action{width:auto;min-width:0;min-height:1.4rem;margin:0;padding:0 .4rem;border:0;border-radius:.4rem;display:flex;align-items:center;justify-content:center;color:#9a4f16;background:rgba(255,255,255,.72);font-size:.575rem;font-weight:800;line-height:1.2}.fitness-today-card{position:relative;overflow:hidden;margin-top:.5rem;padding:.85rem;border-radius:.75rem;color:#fff;background:#235f30;box-shadow:0 .4rem 1rem #235f3033}.fitness-today-card:after{content:"";position:absolute;right:-1.35rem;bottom:-1.85rem;width:5.75rem;height:5.75rem;border:.7rem solid rgba(255,255,255,.08);border-radius:50%}.fitness-today-date{position:relative;z-index:1;display:block;color:#ffffffc2;font-size:.575rem;font-weight:700;letter-spacing:.025rem}.fitness-today-title{position:relative;z-index:1;display:block;margin-top:.45rem;font-size:.975rem;font-weight:850;line-height:1.3}.fitness-today-metrics{position:relative;z-index:1;display:block;min-height:.95rem;margin-top:.3rem;color:#ffffffd1;font-size:.625rem;line-height:1.5;font-variant-numeric:tabular-nums}.primary-button.fitness-today-action{position:relative;z-index:1;width:100%;margin-top:.75rem;color:#235f30;background:#fff}.fitness-shortcuts{display:grid;grid-template-columns:minmax(0,1fr);gap:.4rem;margin-top:.55rem}.fitness-shortcut{position:relative;width:100%;min-height:2.4rem;margin:0;padding:.45rem .55rem;border:0;border-radius:.6rem;display:flex;align-items:center;gap:.45rem;color:inherit;background:rgba(255,255,255,.94);box-shadow:0 0 0 .025rem #0000000d;text-align:left}.fitness-shortcut-title{flex:1;min-width:0;color:#1d1a17;font-size:.725rem;font-weight:800}.fitness-history-section{margin-top:.9rem}.fitness-history-head{display:flex;align-items:center;justify-content:space-between;gap:.45rem;margin-bottom:.45rem;padding:0 .1rem}.fitness-history-count{display:block;margin-top:.125rem;color:#8c837a;font-size:.55rem}.fitness-history-timeline{margin-top:.4rem}.fitness-history-row{width:100%;margin:0;padding:0;border:0;border-radius:0;display:grid;grid-template-columns:.85rem minmax(0,1fr);color:inherit;background:transparent;text-align:left}.fitness-timeline-rail{position:relative;display:flex;justify-content:center}.fitness-timeline-rail:after{content:"";position:absolute;top:.75rem;bottom:-.5rem;width:.075rem;background:#cfe2cc}.fitness-history-row:last-of-type .fitness-timeline-rail:after{display:none}.fitness-timeline-dot{position:relative;z-index:1;width:.4rem;height:.4rem;margin-top:.725rem;border:.15rem solid #dcebd8;border-radius:50%;background:var(--jiayu-brand)}.fitness-history-card{min-width:0;margin-bottom:.45rem;padding:.6rem .65rem;border-radius:.6rem;background:rgba(255,255,255,.94);box-shadow:0 0 0 .025rem #0000000d}.fitness-history-date-row{display:flex;align-items:baseline;justify-content:space-between;gap:.45rem}.fitness-history-date{color:#1c1916;font-size:.725rem;font-weight:850}.fitness-history-weekday{color:#928980;font-size:.525rem}.fitness-history-actions{display:block;margin-top:.3rem;overflow:hidden;color:#524c46;font-size:.625rem;text-overflow:ellipsis;white-space:nowrap}.fitness-history-metrics{display:block;margin-top:.225rem;color:var(--jiayu-brand);font-size:.55rem;font-weight:700;font-variant-numeric:tabular-nums}.fitness-favorites-entry{display:flex;align-items:center;justify-content:space-between;min-height:2.05rem;margin:.15rem 0 .45rem;padding:0 .2rem;border-top:.025rem solid #e9e0d5;border-bottom:.025rem solid #e9e0d5;color:#27231f;font-size:.7rem;font-weight:750}.fitness-entry-main{display:flex;min-width:0;align-items:center;gap:.35rem}.fitness-entry-star{color:var(--jiayu-brand);font-size:.75rem}.fitness-entry-end{display:flex;flex:none;align-items:center;gap:.3rem;color:#81786f;font-size:.6rem;font-weight:500}.fitness-search-row{display:flex;align-items:center;gap:.4rem;margin:.25rem 0 .45rem}.fitness-search-box{display:flex;align-items:center;flex:1;min-width:0;min-height:2.05rem;padding:0 .6rem;border:.025rem solid #e8dfd3;border-radius:.55rem;background:#fff}.fitness-search-input{flex:1;min-width:0;height:2.05rem;border:0;color:#222;background:transparent;font-size:max(16PX,.7rem)}.fitness-search-icon{margin-right:.35rem;color:#80776e;font-size:.875rem}.fitness-library-count{flex-shrink:0;color:#8b8278;font-size:.65rem;white-space:nowrap}.fitness-library-count-value{color:var(--jiayu-brand);font-size:.85rem;font-weight:800}.fitness-filters{position:sticky;z-index:20;top:calc(2.2rem + env(safe-area-inset-top));margin:0 -.15rem;padding:.3rem .15rem .4rem;background:#fffaf3}.fitness-dimension-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.fitness-dimension-button{width:100%;min-width:0;margin:0;padding:.425rem .3rem;border:.025rem solid #e7ded2;border-radius:.45rem;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#6e665e;background:#fff;font-size:.65rem;line-height:1.2;text-align:center}.fitness-dimension-button.has-value{padding-top:.25rem;padding-bottom:.25rem}.fitness-dimension-button.active{border-color:var(--jiayu-brand);color:var(--jiayu-brand);background:var(--jiayu-brand-soft);font-weight:700}.fitness-dimension-value{max-width:100%;margin-top:.05rem;overflow:hidden;font-size:.5rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.fitness-filter-scroll{width:100%;margin-top:.45rem;overflow-x:auto;white-space:nowrap}.fitness-filter-row{display:inline-flex;gap:.3rem;padding-right:.6rem}.fitness-filter-chip{flex:0 0 auto;width:auto;min-width:0;min-height:1.35rem;margin:0;padding:.325rem .55rem;border:0;border-radius:24.975rem;display:flex;align-items:center;justify-content:center;color:#756c63;background:#f2ece3;font-size:.625rem;line-height:1.2}.fitness-filter-chip.active{color:#fff;background:var(--jiayu-brand)}.fitness-filter-chip[disabled],.fitness-filter-chip.disabled{color:#aaa197!important;background:#f5f1eb!important;opacity:.58}.fitness-exercise-group+.fitness-exercise-group{margin-top:.45rem}.fitness-group-head{display:flex;align-items:center;justify-content:space-between;min-height:1.65rem;padding:0 .2rem;border-bottom:.025rem solid #e9e0d5}.fitness-group-label{color:#24201c;font-size:.675rem;font-weight:800}.fitness-group-count{color:#8b8278;font-size:.575rem}.secondary-button.fitness-list-footer{width:100%;margin:.8rem 0 .25rem}.section-card.fitness-state-card{display:flex;min-width:0;flex-direction:column;align-items:center;padding:1.4rem .75rem;color:#7a7168;font-size:.7rem;text-align:center}.section-card.fitness-state-card.error{color:var(--jiayu-error-text)}.secondary-button.fitness-state-action{align-self:stretch;margin-top:.65rem}.fitness-exercise-list{border-top:.025rem solid #e9e0d5}.fitness-exercise-group .fitness-exercise-list{border-top:0}.fitness-exercise-row{display:flex;align-items:center;min-height:4.1rem;padding:.7rem .2rem;border-bottom:.025rem solid #e9e0d5}.fitness-exercise-main{flex:1;min-width:0;margin:0;padding:0;border:0;border-radius:0;color:inherit;background:transparent;text-align:left}.fitness-exercise-name{display:block;min-width:0;overflow-wrap:anywhere;color:#171512;font-size:.775rem;font-weight:800;line-height:1.35}.fitness-exercise-en{display:block;min-width:0;margin-top:.175rem;overflow:hidden;color:#8a8178;font-size:.575rem;text-overflow:ellipsis;white-space:nowrap}.fitness-tags{display:flex;min-width:0;flex-wrap:wrap;gap:.25rem;margin-top:.4rem}.fitness-tags taro-text-core{padding:.125rem .325rem;border-radius:24.975rem;color:#4f704f;background:#edf5e9;font-size:.525rem}.fitness-exercise-row .fitness-exercise-add{width:1.7rem;min-width:1.7rem;min-height:1.7rem;flex-shrink:0;margin:0 0 0 .45rem;padding:0;border:.025rem solid #b9d1b5;border-radius:.5rem;display:flex;align-items:center;justify-content:center;color:var(--jiayu-brand);background:#f7fbf4;font-size:.85rem;font-weight:700;line-height:1}.fitness-exercise-row .fitness-remove-favorite{width:auto;min-width:3.2rem;min-height:1.8rem;flex-shrink:0;margin:0 0 0 .45rem;padding:0 .3rem;border:0;border-radius:.45rem;display:flex;align-items:center;justify-content:center;color:#756c63;background:#f1ebe3;font-size:.6rem;line-height:1.2}.fitness-favorites-heading{display:flex;align-items:center;justify-content:space-between;min-height:1.9rem;padding:.1rem .2rem 0;border-bottom:.025rem solid #e9e0d5}.fitness-favorites-title{color:#24201c;font-size:.725rem;font-weight:800}.fitness-favorites-count{color:#8b8278;font-size:.6rem}.section-card.fitness-empty-card{display:flex;min-width:0;flex-direction:column;align-items:center;padding:1.4rem .75rem;color:#7a7168;font-size:.7rem;text-align:center}.fitness-empty-star{display:block;color:var(--jiayu-brand);font-size:1.55rem;line-height:1}.fitness-empty-title{display:block;margin-top:.55rem;color:#302b27;font-size:.75rem;font-weight:800}.fitness-empty-copy{display:block;margin-top:.35rem;color:#857c73;font-size:.6rem;line-height:1.65}.section-card.fitness-empty-card .secondary-button.fitness-state-action{margin-top:.7rem}.section-card.fitness-form-card{margin-top:0;margin-bottom:.45rem;padding:.65rem}.fitness-field-label{display:block;margin-bottom:.3rem;color:#5f5850;font-size:.6rem;font-weight:650}.fitness-title-input,.fitness-text-input{width:100%;height:1.95rem;padding:0;border:0;color:var(--jiayu-text-strong);background:transparent;font-size:max(16PX,.7rem)}.fitness-title-input{font-size:max(16PX,.85rem);font-weight:650}.fitness-field-divider{height:.025rem;margin:.2rem 0 .55rem;background:rgba(0,0,0,.065)}.fitness-picker-row{display:flex;min-height:2.3rem;align-items:center;justify-content:space-between;gap:.5rem;border-bottom:.025rem solid rgba(0,0,0,.055);color:#24211d;font-size:.675rem}.fitness-picker-row:last-child{border-bottom:0}.fitness-picker-value{display:flex;min-width:0;align-items:center;gap:.15rem;color:var(--jiayu-brand);font-size:.625rem}.fitness-picker-select{max-width:100%;min-width:0;color:inherit;font-size:max(16PX,.625rem);text-align:right}.fitness-steps-input{width:100%;min-height:6rem;padding:0;border:0;border-radius:0;color:#2b2925;background:transparent;font-size:max(16PX,.7rem);line-height:1.6}.fitness-media-button{position:relative;width:100%;min-height:2.1rem;margin:0;padding:0 .5rem;border:0;border-radius:.5rem;display:flex;align-items:center;justify-content:center;color:var(--jiayu-brand);background:var(--jiayu-brand-soft);font-size:.675rem;text-align:center}.fitness-media-content{width:100%;height:9.5rem;border-radius:.5rem;-o-object-fit:contain;object-fit:contain;background:#f1ece5}.fitness-media-selected-row{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:.4rem;margin-top:.35rem;color:#625a52;font-size:.625rem}.fitness-media-clear{width:auto;min-width:0;min-height:1.4rem;flex:0 0 auto;margin:0;padding:0 .5rem;border:0;border-radius:.4rem;display:flex;align-items:center;justify-content:center;color:var(--jiayu-error-text);background:#f8ece8;font-size:.575rem;line-height:1.2}.fitness-media-limit,.fitness-local-risk{display:block;color:#837a70;font-size:.55rem;line-height:1.5}.fitness-media-limit{margin-top:.4rem}.fitness-local-risk{margin-top:.15rem;color:#9a5b50}.fitness-save-dock{position:sticky;z-index:10;bottom:calc(.3rem + env(safe-area-inset-bottom));margin-top:.6rem;padding:.45rem .8rem calc(.45rem + env(safe-area-inset-bottom));border:.025rem solid #e5ddd3;border-radius:.6rem;background:rgba(255,250,243,.96);box-shadow:0 -.2rem .7rem #3a2f2314}.fitness-detail-heading{padding:.3rem .1rem .6rem}.fitness-detail-name-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.fitness-detail-name{display:block;flex:1;min-width:0;overflow-wrap:anywhere;color:#171512;font-size:1.1rem;font-weight:900;line-height:1.25}.fitness-alias-action{width:auto;min-width:0;min-height:1.4rem;flex:0 0 auto;margin:.05rem 0 0;padding:0 .45rem;border:0;border-radius:.4rem;display:flex;align-items:center;justify-content:center;color:var(--jiayu-brand);background:var(--jiayu-brand-soft);font-size:.575rem;line-height:1.2}.fitness-detail-name-en{display:block;margin-top:.25rem;overflow-wrap:anywhere;color:#827970;font-size:.65rem}.fitness-detail-tags{display:flex;min-width:0;flex-wrap:wrap;gap:.3rem;margin-top:.5rem}.fitness-detail-tags taro-text-core{padding:.2rem .4rem;border-radius:24.975rem;color:#356b3d;background:var(--jiayu-brand-soft);font-size:.575rem}.surface-card.fitness-media-card{position:relative;display:flex;align-items:center;justify-content:center;height:13rem;margin-top:.5rem;overflow:hidden;background:#f5efe6}.fitness-exercise-media{width:100%;height:100%;background:#fff}.fitness-media-state,.fitness-media-placeholder{color:#837a70;font-size:.65rem;text-align:center}.fitness-media-placeholder{display:flex;flex-direction:column;align-items:center}.fitness-media-placeholder-icon{width:2.15rem;height:2.15rem;margin-bottom:.5rem}.fitness-media-placeholder-copy{display:block;color:#4f4943;font-size:.725rem;font-weight:700}.fitness-note-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.fitness-note-title-row{display:flex;flex:1;min-width:0;align-items:center;justify-content:space-between;gap:.5rem}.fitness-backup-control{display:flex;flex:none;align-items:center;gap:.25rem;color:#5f5750;font-size:.6rem}.fitness-backup-control .taro-switch,.fitness-backup-control taro-switch-core{transform:scale(.82);transform-origin:right center}.fitness-note-add-photo{position:relative;width:2.2rem;min-width:0;height:2.2rem;min-height:2.2rem;flex-shrink:0;margin:0;padding:0;border:0;border-radius:.6rem;display:flex;align-items:center;justify-content:center;background:var(--jiayu-brand-soft)}.fitness-note-add-photo.is-disabled{opacity:.5}.fitness-note-add-icon{width:1.05rem;height:1.05rem;display:block}.fitness-note-textarea{width:100%;min-height:4.75rem;box-sizing:border-box;margin-top:.5rem;padding:.5rem .55rem;border:.025rem solid #e7ded2;border-radius:.5rem;color:#312c27;background:#faf7f1;font:inherit;font-size:max(16PX,.65rem);line-height:1.6;resize:vertical}.fitness-note-textarea .taro-textarea{min-height:inherit;box-sizing:border-box}.fitness-note-meta-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:1.05rem;margin-top:.25rem}.fitness-note-status,.fitness-note-count,.fitness-note-photo-limit{display:block;min-width:0;color:#91887f;font-size:.5rem}.fitness-note-count{flex:0 0 auto;font-variant-numeric:tabular-nums}.fitness-note-status.is-error{color:var(--jiayu-error-text)}.fitness-note-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin-top:.45rem}.fitness-note-photo{position:relative;min-width:0;height:4.75rem}.fitness-note-photo-image{width:100%;height:100%;border-radius:.45rem;-o-object-fit:cover;object-fit:cover;background:#eee8df}.fitness-note-photo-missing{width:100%;height:100%;box-sizing:border-box;padding:.4rem;border-radius:.45rem;display:flex;align-items:center;justify-content:center;color:#9a5b50;background:#eee8df;font-size:.5rem;line-height:1.35;text-align:center}.fitness-note-photo .fitness-note-photo-delete{position:absolute;top:-.3rem;right:-.3rem;width:1.25rem;min-width:0;height:1.25rem;min-height:1.25rem;margin:0;padding:0;border:.1rem solid #fff;border-radius:50%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;color:#fff;background:#a84b40;font-size:.775rem;line-height:1}.fitness-note-photo-limit{margin-top:.35rem;line-height:1.45}.fitness-inline-state{display:block;margin-top:.6rem;overflow-wrap:anywhere;color:#837a70;font-size:.625rem;line-height:1.45}.fitness-inline-state.is-error{color:var(--jiayu-error-text)}.fitness-step{display:flex;min-width:0;gap:.45rem;margin-top:.6rem}.fitness-step-number{width:1.05rem;height:1.05rem;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--jiayu-brand);font-size:.55rem;font-weight:800}.fitness-step-text{min-width:0;overflow-wrap:anywhere;color:#403b36;font-size:.675rem;line-height:1.65}.fitness-source-line{display:flex;justify-content:space-between;gap:.6rem;padding:.5rem 0;border-bottom:.025rem solid #eee5da;color:#7c736a;font-size:.575rem}.fitness-source-line:last-of-type{border-bottom:0}.fitness-source-line taro-text-core:last-child{max-width:64%;overflow-wrap:anywhere;color:#3c3733;text-align:right}.fitness-source-attribution{display:block;margin-top:.5rem;color:#91877e;font-size:.525rem;line-height:1.5}.fitness-action-bar{position:sticky;z-index:4;bottom:calc(.3rem + env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:.45rem;margin-top:.6rem;padding:.45rem .8rem calc(.45rem + env(safe-area-inset-bottom));border:.025rem solid #e4ddd4;border-radius:.55rem;background:rgba(255,250,243,.96);box-shadow:0 -.2rem .7rem #3a2f2314}.fitness-action-bar.is-single{grid-template-columns:minmax(0,1fr)}.fitness-detail-action{width:100%;margin:0}.fitness-detail-action.is-active{color:#6f665d;background:#eee8df}.fitness-ask-button{box-shadow:0 .3rem .85rem #2f7d3b38}.fitness-rest-timer{position:sticky;z-index:20;top:calc(2.2rem + env(safe-area-inset-top));display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.35rem;min-height:2.1rem;margin-bottom:.3rem;padding:.25rem .3rem .25rem .5rem;border:.025rem solid #e8dfd3;border-radius:.5rem;background:#fffdf9;box-shadow:0 .2rem .55rem #2d3f2e14}.fitness-rest-timer-main{display:flex;align-items:baseline;min-width:0;gap:.3rem}.fitness-rest-timer-label{flex-shrink:0;color:#625a53;font-size:.6rem;font-weight:700}.fitness-rest-timer-value{flex-shrink:0;color:#244d2b;font-size:.725rem;font-weight:850;font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap}.fitness-rest-timer-actions{display:flex;align-items:center;flex-shrink:0;gap:.15rem}.fitness-rest-timer-action{width:auto;min-width:1.9rem;min-height:1.6rem;margin:0;padding:0 .325rem;border:0;border-radius:.4rem;display:flex;align-items:center;justify-content:center;color:var(--jiayu-brand);background:var(--jiayu-brand-soft);font-size:.55rem;font-weight:750;line-height:1.2}.fitness-rest-timer-action.is-secondary{color:#756c63;background:#f2ece3}.fitness-record-date-card{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;padding:.6rem .15rem .3rem}.fitness-date-eyebrow{display:block;color:#8b8279;font-size:.55rem;font-weight:700}.fitness-date-value{position:relative;display:flex;align-items:center;gap:.15rem;margin-top:.2rem;color:#1b1815;font-size:.85rem;font-weight:850;font-variant-numeric:tabular-nums}.fitness-save-status{display:block;margin-top:.225rem;color:var(--jiayu-brand);font-size:.525rem}.fitness-save-status.is-dirty{color:#a76516}.fitness-delete-record{width:auto;min-width:0;min-height:1.6rem;flex:0 0 auto;margin:0;padding:0 .3rem;border:0;border-radius:0;display:flex;align-items:center;justify-content:center;color:#8f514a;background:transparent;font-size:.55rem;font-weight:650;line-height:1.2}.section-card.fitness-exercise-card{padding:.65rem .55rem}.fitness-exercise-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.fitness-exercise-heading{flex:1;min-width:0;min-height:2.2rem;margin:0;padding:0;border:0;border-radius:0;display:flex;flex-direction:column;justify-content:center;align-items:stretch;color:inherit;background:transparent;text-align:left}.fitness-exercise-name-row{display:flex;align-items:center;min-width:0;max-width:100%;gap:.125rem}.fitness-editor-name{min-width:0;overflow:hidden;color:#191613;font-size:.775rem;font-weight:850;line-height:1.35;word-break:break-all}.fitness-detail-chevron{width:.5rem;height:.5rem;flex:0 0 .5rem;opacity:.5}.fitness-editor-name-en{display:block;max-width:100%;margin-top:.125rem;overflow:hidden;color:#8b8279;font-size:.525rem;text-overflow:ellipsis;white-space:nowrap}.fitness-exercise-actions{display:flex;align-items:center;flex-shrink:0;gap:.15rem}.fitness-replace-exercise,.fitness-delete-exercise{width:auto;min-width:0;min-height:1.4rem;margin:0;padding:0 .2rem;border:0;border-radius:0;display:flex;align-items:center;justify-content:center;background:transparent;font-size:.5rem;font-weight:650;line-height:1.2}.fitness-replace-exercise{color:#4f704f}.fitness-delete-exercise{color:#8f514a}.fitness-mode-picker{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:1.8rem;margin-top:.55rem;padding:0 .45rem;border-radius:.45rem;color:#81786f;background:#f7f3ed;font-size:.575rem}.fitness-mode-picker-value{display:flex;min-width:0;align-items:center;gap:.15rem}.fitness-mode-select{max-width:100%;min-width:0;color:#2f5f36;font-size:max(16PX,.575rem);font-weight:750;text-align:right}.fitness-set-table{margin-top:.55rem}.fitness-set-grid{display:grid;align-items:center;gap:.25rem}.fitness-set-table.mode-weight_reps .fitness-set-grid{grid-template-columns:1.05rem 2.55rem minmax(2rem,1fr) minmax(1.85rem,1fr) 1.75rem 1.5rem}.fitness-set-table.mode-reps_only .fitness-set-grid{grid-template-columns:1.05rem 2.65rem minmax(2.2rem,1fr) 1.75rem 1.5rem}.fitness-set-table.mode-time_only .fitness-set-grid{grid-template-columns:1.05rem minmax(3rem,1fr) 1.75rem 1.5rem}.fitness-set-table.mode-distance_time .fitness-set-grid{grid-template-columns:1.05rem minmax(2.3rem,1fr) minmax(2.7rem,1fr) 1.75rem 1.5rem}.fitness-set-table.mode-reps_time .fitness-set-grid{grid-template-columns:1.05rem 2.3rem minmax(1.75rem,1fr) minmax(2.45rem,1fr) 1.75rem 1.5rem}.fitness-set-header{padding:0 .1rem .25rem;color:#91887f;font-size:.5rem;text-align:center}.fitness-set-row{margin-top:.25rem}.fitness-treadmill-set+.fitness-treadmill-set{margin-top:.55rem;padding-top:.55rem;border-top:.025rem solid #eee5da}.fitness-treadmill-set-head{display:flex;align-items:center;justify-content:space-between;min-width:0}.fitness-treadmill-set-number{min-width:0;color:#5f5750;font-size:.575rem;font-weight:800;font-variant-numeric:tabular-nums}.fitness-treadmill-field-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;min-width:0;margin-top:.25rem}.fitness-treadmill-field{min-width:0}.fitness-treadmill-field-label{display:flex;align-items:flex-end;justify-content:center;min-height:1.2rem;margin-bottom:.15rem;color:#91887f;font-size:.5rem;line-height:1.2;text-align:center}.fitness-set-number{color:#5f5750;font-size:.575rem;font-weight:800;font-variant-numeric:tabular-nums;text-align:center}.fitness-set-type,.fitness-set-input{width:100%;min-width:0;height:1.7rem;box-sizing:border-box;border:.025rem solid #e9e0d5;border-radius:.375rem;color:#292521;background:#fffdf9;font-size:max(16PX,.575rem);text-align:center}.fitness-set-type{display:flex;align-items:center;justify-content:center;gap:.05rem;color:#4f694f;font-size:.525rem}.fitness-set-type-value{max-width:100%;min-width:0;color:inherit;font-size:max(16PX,.525rem);text-align:center}.fitness-set-input{padding:0 .2rem;font-variant-numeric:tabular-nums}.fitness-rpe-input{color:#84652c}.fitness-set-table .fitness-delete-set{width:1.5rem;min-width:0;height:1.7rem;min-height:0;margin:0;padding:0;border:0;border-radius:0;display:flex;align-items:center;justify-content:center;background:transparent;line-height:1}.fitness-delete-set-icon{width:.65rem;height:.65rem;display:block}.fitness-exercise-card .fitness-add-set{width:100%;min-width:0;min-height:1.8rem;margin:.5rem 0 0;padding:0 .4rem;border:0;border-radius:.45rem;display:flex;align-items:center;justify-content:center;color:var(--jiayu-brand);background:var(--jiayu-brand-soft);font-size:.6rem;font-weight:750;line-height:1.2}.fitness-add-exercise{width:100%;min-height:var(--jiayu-action-min-height);margin:.55rem 0 0;padding:.35rem .6rem;border:.05rem dashed #b9d1b5;border-radius:var(--jiayu-action-radius);box-sizing:border-box;display:flex;align-items:center;justify-content:center;color:var(--jiayu-brand);background:rgba(237,247,233,.72);font-size:var(--jiayu-action-size);font-weight:var(--jiayu-action-weight);line-height:1.25}.section-card.fitness-empty-editor{display:flex;min-width:0;flex-direction:column;align-items:center;padding:1.3rem .75rem;text-align:center}.fitness-empty-editor-icon{width:1.9rem;height:1.9rem;margin-bottom:.45rem}.fitness-state-title{display:block;color:#403a34;font-size:.725rem;font-weight:800}.fitness-record-help{display:block;padding:.65rem .35rem 0;color:#91887f;font-size:.525rem;line-height:1.55;text-align:center}@media (max-width: 420px){.fitness-set-table.mode-weight_reps .fitness-set-grid{grid-template-columns:.85rem 2.2rem minmax(1.5rem,1fr) minmax(1.45rem,1fr) 1.4rem 1.2rem}.fitness-set-table.mode-reps_time .fitness-set-grid{grid-template-columns:.85rem 2.05rem minmax(1.4rem,1fr) minmax(1.9rem,1fr) 1.4rem 1.2rem}.fitness-set-table.mode-reps_only .fitness-set-grid{grid-template-columns:.85rem 2.3rem minmax(1.8rem,1fr) 1.4rem 1.2rem}.fitness-set-table.mode-distance_time .fitness-set-grid{grid-template-columns:.85rem minmax(1.9rem,1fr) minmax(2.2rem,1fr) 1.4rem 1.2rem}.fitness-set-table.mode-time_only .fitness-set-grid{grid-template-columns:.85rem minmax(2.5rem,1fr) 1.4rem 1.2rem}.fitness-exercise-head{flex-wrap:wrap}}
