.web-page{min-height:100vh;box-sizing:border-box;padding:calc(2.2rem + env(safe-area-inset-top)) .6rem calc(1.1rem + env(safe-area-inset-bottom));color:#2b2926;background:linear-gradient(180deg,#fffaf3 0%,#f3eee5 100%)}.web-page.main-page{padding-bottom:calc(3.5rem + env(safe-area-inset-bottom))}.web-topbar{position:fixed;z-index:30;top:0;left:0;right:0;height:calc(2.2rem + env(safe-area-inset-top));padding:env(safe-area-inset-top) .45rem 0;box-sizing:border-box;display:grid;grid-template-columns:1.7rem minmax(0,1fr) 1.7rem;align-items:center;border-bottom:.025rem solid rgba(80,68,51,.08);background:rgba(255,250,243,.96)}.web-topbar.brand{color:#fff;border-color:transparent;background:#2f7d3b}.web-topbar-title{min-width:0;overflow:hidden;font-size:.85rem;font-weight:750;text-align:center;text-overflow:ellipsis;white-space:nowrap}.topbar-side{min-width:0}.topbar-back{width:1.45rem;min-width:0;height:1.45rem;margin:0;padding:0;border:0;color:inherit;background:transparent;font-size:1.35rem;font-weight:400;line-height:1.3rem}.web-page-content{width:100%;min-width:0;max-width:18rem;margin:0 auto}.app-tabbar{position:fixed;z-index:30;left:0;right:0;bottom:0;min-height:calc(2.8rem + env(safe-area-inset-bottom));padding:.25rem .3rem env(safe-area-inset-bottom);box-sizing:border-box;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:.025rem solid rgba(80,68,51,.1);background:rgba(255,252,247,.98)}.app-tab{width:100%;min-width:0;margin:0;padding:.1rem;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.05rem;color:#8b8379;background:transparent;font-size:.5rem;line-height:1.2}.app-tab.selected{color:#2f7d3b}.app-tab-mark{font-size:.65rem;font-weight:750}.surface-card,.section-card,.state-panel{min-width:0;box-sizing:border-box;border:.025rem solid rgba(82,71,56,.08);border-radius:.6rem;background:rgba(255,255,255,.94);box-shadow:0 .25rem .75rem #44392a0f}.section-card,.state-panel{margin-top:.5rem;padding:.7rem}.state-panel{display:flex;flex-direction:column;gap:.4rem}.state-title,.section-title{color:#2b2926;font-size:.7rem;font-weight:750}.state-copy,.muted-copy,.empty-state{color:#7c746a;font-size:.6rem;line-height:1.55}.skeleton-panel{min-height:3.75rem;justify-content:center;background:linear-gradient(90deg,#f5f0e9,#fffdf9,#f5f0e9)}.empty-state{padding:1.3rem .5rem;text-align:center}.primary-button,.secondary-button,.danger-button{min-width:0;min-height:1.85rem;margin:0;padding:.35rem .6rem;border:0;border-radius:.5rem;box-sizing:border-box;font-size:.625rem;line-height:1.25}.primary-button{color:#fff;background:#2f7d3b}.secondary-button{color:#2f7d3b;background:#edf7e9}.danger-button{color:#8f514a;background:#f8ece8}.full-button{width:100%}.row-button{width:100%;min-width:0;min-height:2.3rem;margin:0;padding:.5rem 0;border:0;border-bottom:.025rem solid #eee8df;border-radius:0;box-sizing:border-box;color:inherit;background:transparent;font-size:inherit;line-height:inherit;text-align:left}.row-button:last-child{border-bottom:0}.form-field{display:flex;flex-direction:column;gap:.25rem}.form-label{color:#3d3934;font-size:.575rem;font-weight:650}.web-input,.web-textarea,.web-select{width:100%;min-width:0;box-sizing:border-box;border:.025rem solid #ded7ce;border-radius:.4rem;color:#2b2926;background:#fff;font:inherit;font-size:.625rem}.web-input,.web-select{height:1.8rem;padding:0 .45rem}.web-textarea{min-height:3.1rem;padding:.4rem .45rem;resize:vertical}.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:.35rem;margin-top:.5rem}.chip-row{display:flex;min-width:0;gap:.3rem;overflow-x:auto;padding:.05rem 0}.chip{flex:0 0 auto;min-height:1.45rem;margin:0;padding:.25rem .5rem;border:0;border-radius:24.975rem;color:#746d64;background:#eee9e2;font-size:.575rem}.chip.active{color:#fff;background:#2f7d3b}@media (min-width: 720px){.web-topbar,.app-tabbar{width:18rem;left:50%;right:auto;transform:translate(-50%)}}.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:.4rem}.page-section-head{margin-bottom:.3rem}.inline-action{flex:0 0 auto;margin:0;padding:.2rem .35rem;border:0;color:#2f7d3b;background:transparent;font-size:.575rem}.data-list{min-width:0}.data-row,.member-row,.notice-row{gap:.45rem;padding:.55rem 0;border-bottom:.025rem solid #eee8df}.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:#302d29;font-size:.65rem;font-weight:650;line-height:1.35}.data-meta,.data-copy,.member-role,.notice-body,.notice-time{margin-top:.15rem;color:#817970;font-size:.55rem;line-height:1.45}.data-copy,.notice-body{overflow-wrap:anywhere}.data-badge{flex:0 0 auto;padding:.175rem .3rem;border-radius:24.975rem;color:#2f7d3b;background:#edf7e9;font-size:.5rem}.data-badge.warning{color:#ae631d;background:#fff3e4}.row-actions{flex:0 0 auto;display:flex;gap:.2rem}.small-button{min-width:0;min-height:1.35rem;margin:0;padding:.2rem .35rem;border:0;border-radius:.35rem;color:#2f7d3b;background:#edf7e9;font-size:.525rem;line-height:1.2}.small-button.danger{color:#965148;background:#f9ece8}.composer-card{display:flex;flex-direction:column;gap:.45rem}.field-switch{min-height:1.7rem;display:flex;align-items:center;justify-content:space-between;gap:.4rem}.picker-value{width:100%;min-height:1.8rem;padding:0 .45rem;box-sizing:border-box;display:flex;align-items:center;border:.025rem solid #ded7ce;border-radius:.4rem;color:#2b2926;background:#fff;font-size:.625rem}.task-check{width:1.3rem;height:1.3rem;flex:0 0 auto;margin:0;padding:0;border:.05rem solid #8bb394;border-radius:50%;color:#fff;background:#fff;font-size:.7rem;line-height:1.2rem}.task-check.checked{background:#2f7d3b}.memo-card{width:100%;min-width:0;margin:0 0 .35rem;padding:.55rem;box-sizing:border-box;border:.025rem solid #ebe3d9;border-radius:.5rem;color:inherit;background:#fff;text-align:left}.memo-card.selected{border-color:#6fa377;box-shadow:0 0 0 .05rem #2f7d3b14}.memo-item{min-height:1.35rem;display:flex;align-items:flex-start;gap:.3rem;padding:.175rem 0}.memo-item.done{color:#9a938b;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:#fff;background:#64936b;font-size:.6rem;font-weight:700}.invite-code{font-size:1.05rem;font-weight:750;letter-spacing:.125rem;text-align:center}.notice-row.unread .notice-title{color:#1f5f2b}.notice-dot{width:.35rem;height:.35rem;flex:0 0 auto;border-radius:50%;background:#dd7b2b}.game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.activity-hero{width:100%;min-width:0;min-height:4.45rem;margin:.5rem 0 0;padding:.7rem;box-sizing:border-box;display:flex;align-items:center;gap:.45rem;border:0;border-radius:.65rem;color:#24472c;background:linear-gradient(135deg,#dff0d8,#f2f8ec);text-align:left}.activity-hero-link{display:block;margin-top:.3rem;color:#2f7d3b;font-size:.575rem;font-weight:700}.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%;margin:.5rem 0 0;display:flex;min-width:0;align-items:center;justify-content:space-between;gap:.4rem;border:.025rem solid rgba(82,71,56,.08);color:inherit;text-align:left}.game-card{width:100%;min-width:0;margin:0;padding:.55rem;border:0;border-radius:.5rem;color:#2f4934;background:#eff7ec;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:.45rem}.fitness-chat-context{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:.35rem;margin-bottom:.45rem}.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:.25rem;color:#8b8379;font-size:.5rem}.chat-message{max-width:84%;padding:.45rem .5rem;border-radius:.55rem .55rem .55rem .15rem;box-sizing:border-box;background:#fff;box-shadow:0 .15rem .5rem #44392a0f}.chat-message.user{border-radius:.55rem .55rem .15rem;color:#fff;background:#2f7d3b}.chat-message-text,.chat-message-time{display:block;overflow-wrap:anywhere;white-space:pre-wrap}.chat-message-text{font-size:.625rem;line-height:1.55}.chat-message-time{margin-top:.2rem;color:inherit;font-size:.45rem;opacity:.72}.message-attachments{display:flex;min-width:0;flex-direction:column;gap:.2rem;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(47,125,59,.08)}.chat-message.user .message-attachment{background:rgba(255,255,255,.14)}.attachment-mark{width:.95rem;height:.95rem;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:.525rem;line-height:1.3}.attachment-size{margin-top:.05rem;font-size:.425rem;opacity:.72}.chat-retry{min-width:0;min-height:1.05rem;margin:.2rem 0 0;padding:.1rem .3rem;border:0;border-radius:.3rem;color:#934e45;background:#f8e8e4;font-size:.475rem;line-height:1.2}.draft-attachments{display:flex;min-width:0;gap:.25rem;margin-top:.5rem;overflow-x:auto}.draft-attachment{width:5.75rem;flex:0 0 auto;border:.025rem solid #e2dad0;background:#fff}.draft-attachment-remove{width:1.05rem;min-width:0;height:1.05rem;margin:0;padding:0;border:0;border-radius:50%;color:#7d6f64;background:#eee8df;font-size:.75rem;line-height:.95rem}.attachment-status{display:block;margin-top:.25rem;color:#817970;font-size:.525rem}.chat-composer{position:sticky;bottom:calc(2.9rem + env(safe-area-inset-bottom));gap:.3rem;margin-top:.6rem;padding:.35rem;border:.025rem solid #e5ddd3;border-radius:.55rem;background:rgba(255,252,247,.98)}.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 taro-input-core{position:absolute;width:.025rem;height:.025rem;overflow:hidden;opacity:0}.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:.75rem 0;color:#928b83;font-size:.5rem;text-align:center}.audit-summary-copy{display:block;margin-top:.2rem;color:#817970;font-size:.55rem}.audit-card{display:flex;min-width:0;flex-direction:column;gap:.45rem}.audit-head,.audit-foot{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:.4rem}.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:#302d29;font-size:.65rem;font-weight:700}.audit-actor,.audit-time{margin-top:.1rem;color:#817970;font-size:.475rem;font-variant-numeric:tabular-nums}.audit-meta{flex:0 0 auto;text-align:right}.audit-status{margin-top:.175rem;font-size:.5rem;font-weight:700}.audit-status.sent{color:#2f7d3b}.audit-status.pending{color:#ae631d}.audit-status.failed{color:#a64f43}.audit-message{min-width:0;padding:.45rem;border-radius:.4rem;background:#f7f4ef}.audit-message.output{background:#eff7ec}.audit-message.pending{background:#fff5e6}.audit-label,.file-result-label{color:#5b554e;font-size:.475rem;font-weight:700}.audit-text{margin-top:.2rem;overflow-wrap:anywhere;color:#302d29;font-size:.575rem;line-height:1.55;white-space:pre-wrap}.audit-text.muted{color:#8a837b}.audit-error{min-width:0;padding:.4rem .45rem;border-radius:.4rem;color:#8d443b;background:#faece8}.audit-error-code{font-size:.475rem;font-weight:700;overflow-wrap:anywhere}.audit-error-message{margin-top:.15rem;font-size:.55rem;line-height:1.45}.audit-foot{color:#817970;font-size:.475rem;font-variant-numeric:tabular-nums}.load-more{margin-top:.5rem}.files-tools{min-height:1.45rem;margin-top:.4rem}.sync-line{min-width:0;color:#817970;font-size:.5rem}.sync-line.error{color:#a64f43}.file-job-row{width:100%;min-width:0;min-height:2.2rem;margin:0;padding:.45rem 0;box-sizing:border-box;border:0;border-bottom:.025rem solid #eee8df;border-radius:0;display:flex;align-items:center;gap:.35rem;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;font-size:.625rem;font-weight:700;line-height:1.35}.file-job-meta{margin-top:.15rem;color:#817970;font-size:.5rem;line-height:1.35}.file-job-status{flex:0 0 auto;font-size:.5rem;font-weight:700}.file-job-status.queued,.file-job-status.processing{color:#ae631d}.file-job-status.done{color:#2f7d3b}.file-job-status.failed{color:#a64f43}.file-detail-head{align-items:flex-start}.file-processing,.file-result{min-width:0;margin-top:.45rem;padding:.5rem;box-sizing:border-box;border-radius:.45rem;background:#f3f8ef}.file-processing{display:flex;align-items:center;gap:.3rem;color:#5d6e5e;font-size:.55rem}.processing-dot{width:.35rem;height:.35rem;flex:0 0 auto;border-radius:50%;background:#d78a36}.file-result.failure{color:#8d443b;background:#faece8}.file-result-text{margin-top:.25rem;overflow-wrap:anywhere;font-size:.575rem;line-height:1.6;white-space:pre-wrap}.file-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem;margin-top:.5rem}.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:.6rem;background:#edf7e9}.editor-intro{display:flex;align-items:center;gap:.45rem}.editor-intro.habit{background:#fff3e4}.editor-mark{width:1.45rem;height:1.45rem;flex:0 0 auto;display:flex;align-items:center;justify-content:center;border-radius:.45rem;color:#fff;background:#2f7d3b;font-size:.75rem}.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:1.7rem;border-bottom:.025rem solid #eee8df;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;font-size:.85rem;font-weight:750}.habit-checkin{width:100%;min-height:1.9rem;margin:.5rem 0 0;border:0;border-radius:.5rem;color:#fff;background:#2f7d3b;font-size:.625rem}.habit-checkin.checked{color:#2f7d3b;background:#fff}.habit-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;margin-top:.5rem}.habit-stat{min-width:0;padding:.55rem .2rem;border-radius:.5rem;background:#fff;text-align:center}.habit-stat-value{display:block;color:#2f7d3b;font-size:.8rem;font-weight:750}.month-button{width:1.45rem;height:1.45rem;min-width:0;margin:0;padding:0;border:0;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:#817970;font-size:.5rem}.calendar-grid{margin-top:.25rem;gap:.125rem}.calendar-cell{min-width:0;min-height:1.6rem;padding:.15rem .05rem;box-sizing:border-box;border-radius:.35rem;color:#817970;background:#f6f2ec;font-size:.5rem}.calendar-cell.completed{color:#fff;background:#5f9868}.calendar-cell.missed{color:#a76326;background:#fff0df}.calendar-cell.future,.calendar-cell.outside,.calendar-cell.blank{opacity:.45}.calendar-mark{display:block;font-weight:750}.calendar-legend{display:block;margin-top:.45rem;color:#817970;font-size:.475rem;text-align:center}.backfill-editor{margin-bottom:.4rem;padding:.45rem;border-radius:.45rem;background:#f7f3ed}@media (max-width: 420px){.form-grid,.action-row{grid-template-columns:minmax(0,1fr)}.row-actions{flex-direction:column}.data-row{flex-wrap:wrap}}.game-setup{display:flex;flex-direction:column;gap:.45rem}.continue-game,.game-summary{width:100%;min-width:0;margin:.5rem 0 0;padding:.6rem .65rem;box-sizing:border-box;display:flex;align-items:center;gap:.4rem;border:.025rem solid rgba(47,125,59,.12);border-radius:.6rem;color:inherit;background:#edf7e9;text-align:left}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem}.option-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.option-button{width:100%;min-width:0;min-height:1.65rem;margin:0;padding:.25rem .2rem;border:.025rem solid #ded7ce;border-radius:.4rem;color:#746d64;background:#fff;font-size:.55rem;line-height:1.25}.option-button.active{color:#fff;border-color:#2f7d3b;background:#2f7d3b}.invite-join{display:grid;grid-template-columns:minmax(0,1fr) 2.9rem;gap:.3rem}.invite-join .secondary-button{width:100%;padding:.2rem}.create-game{margin-top:.5rem}.created-invite{text-align:center}.game-history-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 2.15rem;gap:.25rem;align-items:stretch;border-bottom:.025rem solid #eee8df}.game-history-row:last-of-type{border-bottom:0}.game-history-main{width:100%;min-width:0;min-height:2.3rem;margin:0;padding:.45rem 0;display:flex;align-items:center;gap:.3rem;border:0;color:inherit;background:transparent;text-align:left}.history-delete{width:100%;min-width:0;min-height:1.35rem;margin:.4rem 0;padding:.15rem;border:0;border-radius:.35rem;color:#965148;background:#f9ece8;font-size:.525rem}.more-button{margin-top:.4rem}.game-toolbar,.game-footer{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:.25rem;margin-top:.4rem}.toolbar-link{min-width:0;min-height:1.35rem;margin:0;padding:.2rem .25rem;border:0;color:#2f7d3b;background:transparent;font-size:.55rem}.player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem;margin-top:.4rem}.player-card{min-width:0;padding:.4rem;display:grid;grid-template-columns:.9rem minmax(0,1fr);-moz-column-gap:.25rem;column-gap:.25rem;align-items:center;border:.025rem solid #e8e0d6;border-radius:.45rem;background:rgba(255,255,255,.88)}.player-card.active{border-color:#6fa377;background:#edf7e9}.player-card .data-meta{grid-column:2}.player-stone{width:.75rem;height:.75rem;grid-row:1 / span 2;display:flex;align-items:center;justify-content:center;border:.025rem solid rgba(43,41,38,.22);border-radius:50%;font-size:.45rem;font-weight:800}.player-stone.black{color:#fff;background:#252525}.player-stone.white{color:#2f7d3b;background:#fff}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem;margin-top:.45rem}.request-banner,.game-rule-line,.pending-line{display:block;min-width:0;margin-top:.35rem;padding:.35rem .45rem;box-sizing:border-box;border-radius:.4rem;color:#715a3b;background:#fff3e4;font-size:.55rem;line-height:1.4}.board-stage{width:100%;min-width:0;margin-top:.45rem;display:flex;justify-content:center}.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}.line-game-board,.go-game-board,.chess-game-board,.xiangqi-game-board,.replay-board{width:min(100%,16rem);min-width:0;display:grid;overflow:hidden;box-sizing:border-box;border:.05rem solid #92704d;background:#d9b984;box-shadow:0 .25rem .7rem #42311e1f}.line-game-board,.go-game-board,.chess-game-board{aspect-ratio:1}.xiangqi-game-board,.replay-board.xiangqi{position:relative;aspect-ratio:9 / 10}.board-cell,.go-cell,.chess-cell,.xiangqi-cell{width:100%;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:0;display:flex;align-items:center;justify-content:center;color:inherit;background:transparent;line-height:1}.board-cell,.go-cell{position:relative;aspect-ratio:1;border-right:.025rem solid rgba(76,54,32,.35);border-bottom:.025rem solid rgba(76,54,32,.35)}.line-game-board.tictactoe .board-cell{border-width:.05rem}.board-stone{width:72%;height:72%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:clamp(.4rem,8vw,1.2rem);font-weight:800;line-height:1}.board-stone.black{color:#fff;background:radial-gradient(circle at 35% 30%,#5b5b5b,#141414 70%)}.board-stone.white{color:#2f7d3b;border:.025rem solid #b8afa3;background:radial-gradient(circle at 35% 30%,#fff,#e8e3db 75%)}.go-game-board{padding:.15rem;background:#d8b274}.go-cell{overflow:visible;border:0;background:linear-gradient(rgba(73,48,25,.55),rgba(73,48,25,.55)) center / 100% .025rem no-repeat,linear-gradient(90deg,rgba(73,48,25,.55),rgba(73,48,25,.55)) center / .025rem 100% no-repeat}.go-cell .board-stone{position:relative;z-index:2;width:84%;height:84%}.chess-game-board{grid-template-columns:repeat(8,minmax(0,1fr));background:#f1e1c4}.chess-cell{position:relative;aspect-ratio:1;background:#f0dfbf}.chess-cell:nth-child(16n+2),.chess-cell:nth-child(16n+4),.chess-cell:nth-child(16n+6),.chess-cell:nth-child(16n+8),.chess-cell:nth-child(16n+9),.chess-cell:nth-child(16n+11),.chess-cell:nth-child(16n+13),.chess-cell:nth-child(16n+15){background:#78945d}.chess-cell.selected,.xiangqi-cell.selected{box-shadow:inset 0 0 0 .075rem #dd7b2b}.chess-piece{position:relative;z-index:2;font-family:Segoe UI Symbol,"Noto Sans Symbols 2",serif;font-size:clamp(.6rem,9vw,1.45rem);line-height:1}.move-hint{position:absolute;z-index:3;display:flex;align-items:center;justify-content:center;pointer-events:none}.move-hint.dot{width:22%;height:22%;border-radius:50%;color:transparent;background:rgba(47,125,59,.8)}.move-hint.cross{inset:0;color:#a74835;font-size:clamp(.4rem,5vw,.8rem);font-weight:800}.xiangqi-game-board{grid-template-columns:repeat(9,minmax(0,1fr));grid-template-rows:repeat(10,minmax(0,1fr));padding:.125rem}.xiangqi-cell{position:relative;border-right:.025rem solid rgba(76,54,32,.42);border-bottom:.025rem solid rgba(76,54,32,.42)}.xiangqi-piece{position:relative;z-index:2;width:82%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;box-sizing:border-box;border:.05rem solid currentColor;border-radius:50%;background:#f6e6c7;font-family:STKaiti,KaiTi,serif;font-size:clamp(.425rem,6.2vw,1rem);font-weight:700}.xiangqi-piece.white{color:#b64635}.xiangqi-piece.black{color:#3f4238}.river-label{position:absolute;z-index:1;top:50%;left:50%;width:70%;padding:.05rem .25rem;box-sizing:border-box;transform:translate(-50%,-50%);color:#5e3c1fc7;background:#d9b984;font-family:STKaiti,KaiTi,serif;font-size:clamp(.375rem,5vw,.75rem);text-align:center;pointer-events:none}.game-actions:empty{display:none}.game-footer{margin:.6rem 0 .25rem}.game-modal{position:fixed;z-index:60;inset:0;padding:.6rem;box-sizing:border-box;display:flex;align-items:center;justify-content:center;background:rgba(24,22,19,.46)}.game-modal-card{width:min(100%,14rem);min-width:0;padding:.7rem;box-sizing:border-box;display:flex;flex-direction:column;gap:.35rem;border-radius:.6rem;background:#fffaf3}.replay-board{grid-auto-rows:minmax(0,1fr)}.replay-board.gomoku,.replay-board.tictactoe,.replay-board.chess,.replay-board.go{aspect-ratio:1}.replay-cell{position:relative;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;border-right:.025rem solid rgba(76,54,32,.35);border-bottom:.025rem solid rgba(76,54,32,.35);box-sizing:border-box}.replay-board.chess .replay-cell:nth-child(16n+2),.replay-board.chess .replay-cell:nth-child(16n+4),.replay-board.chess .replay-cell:nth-child(16n+6),.replay-board.chess .replay-cell:nth-child(16n+8),.replay-board.chess .replay-cell:nth-child(16n+9),.replay-board.chess .replay-cell:nth-child(16n+11),.replay-board.chess .replay-cell:nth-child(16n+13),.replay-board.chess .replay-cell:nth-child(16n+15){background:#78945d}.replay-cell.last{box-shadow:inset 0 0 0 .075rem #dd7b2b}.replay-cell.from{box-shadow:inset 0 0 0 .075rem #2f7d3bb8}.replay-status{margin-top:.45rem;text-align:center}.progress-track{height:.2rem;margin:.35rem 0 .2rem;overflow:hidden;border-radius:2.475rem;background:#ded7ce}.progress-value{height:100%;border-radius:inherit;background:#2f7d3b;transition:width .16s ease}.replay-controls{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.2rem;margin-top:.45rem}.replay-controls taro-button-core{width:100%;min-width:0;min-height:1.55rem;margin:0;padding:.2rem .05rem;border:0;border-radius:.35rem;color:#2f7d3b;background:#edf7e9;font-size:.475rem;line-height:1.2}.replay-controls taro-button-core.primary{color:#fff;background:#2f7d3b}.readonly-note{display:block;margin:.4rem 0;color:#817970;font-size:.5rem;text-align:center}@media (max-width: 420px){.option-grid.three,.action-grid{grid-template-columns:minmax(0,1fr)}.replay-controls{gap:.125rem}.replay-controls taro-button-core{font-size:.425rem}}.fitness-today-card,.fitness-sync-card,.fitness-record-date,.fitness-detail-heading,.fitness-detail-media,.fitness-timer,.fitness-entry,.fitness-shortcut,.fitness-exercise-row,.fitness-exercise-main,.fitness-history-row,.fitness-editor-head,.fitness-editor-name,.fitness-actions,.fitness-section-head,.fitness-note-meta,.fitness-backup-switch,.fitness-set-head{min-width:0;box-sizing:border-box}.fitness-today-card{margin-top:.5rem;padding:.75rem;border-radius:.7rem;color:#24472c;background:linear-gradient(145deg,#dff0d8,#f3f9ed)}.fitness-eyebrow,.fitness-save-status,.fitness-record-help{display:block;color:#6f796d;font-size:.525rem}.fitness-hero-title{display:block;margin-top:.3rem;font-size:.85rem;font-weight:750}.fitness-hero-meta{display:block;margin:.2rem 0 .5rem;color:#58705c;font-size:.575rem}.fitness-hero-title+.primary-button{margin-top:.6rem}.fitness-sync-card{margin-top:.5rem;padding:.55rem;border:.025rem solid #efc987;border-radius:.55rem;background:#fff7e8}.fitness-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem;margin-top:.45rem}.fitness-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin-top:.45rem}.fitness-shortcut,.fitness-entry{width:100%;min-height:2.15rem;margin:0;padding:.45rem .5rem;border:0;border-radius:.5rem;display:flex;align-items:center;gap:.35rem;color:#2f4934;background:#fff;font-size:.6rem;text-align:left}.fitness-shortcut>:nth-child(2),.fitness-entry>:first-child{min-width:0;flex:1}.fitness-shortcut taro-input-core,.fitness-date-value taro-input-core{position:absolute;width:.025rem;height:.025rem;overflow:hidden;opacity:0}.fitness-shortcut-mark{width:1.2rem;height:1.2rem;flex:0 0 auto;border-radius:.35rem;display:flex;align-items:center;justify-content:center;color:#fff;background:#4e8959;font-size:.55rem;font-weight:700}.fitness-section-head{margin-top:.7rem;display:flex;align-items:flex-start;justify-content:space-between;gap:.35rem}.fitness-section-head .data-meta{display:block}.fitness-history,.fitness-group{margin-top:.3rem}.fitness-history-row{width:100%;min-height:2.55rem;margin:0 0 .3rem;padding:.45rem .5rem;border:0;border-radius:.5rem;display:flex;align-items:center;gap:.4rem;color:inherit;background:#fff;text-align:left}.fitness-history-date{width:2.5rem;flex:0 0 auto}.fitness-history-date taro-text-core,.fitness-history-main taro-text-core{display:block;overflow-wrap:anywhere}.fitness-history-date taro-text-core:first-child{color:#2f7d3b;font-size:.575rem;font-weight:700}.fitness-history-date taro-text-core:last-child{margin-top:.125rem;color:#8a8279;font-size:.475rem}.fitness-history-main{min-width:0;flex:1}.fitness-entry{margin-top:.35rem;border:.025rem solid #eee7de}.fitness-star{margin-right:.35rem;color:#2f7d3b;font-size:.75rem}.fitness-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.35rem;margin-top:.5rem}.fitness-filter-card{position:sticky;z-index:10;top:calc(2.2rem + env(safe-area-inset-top));margin:.4rem -.15rem 0;padding:.3rem .15rem;background:rgba(255,250,243,.96)}.fitness-dimensions,.fitness-filter-options{display:flex;min-width:0;gap:.25rem;overflow-x:auto}.fitness-filter-options{margin-top:.25rem}.fitness-dimensions taro-button-core,.fitness-filter-options taro-button-core{flex:0 0 auto;min-height:1.35rem;margin:0;padding:.225rem .4rem;border:0;border-radius:24.975rem;color:#756e66;background:#eee9e2;font-size:.525rem;line-height:1.2}.fitness-dimensions taro-button-core.active,.fitness-filter-options taro-button-core.active{color:#fff;background:#2f7d3b}.fitness-exercise-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.3rem;padding:.4rem 0;border-bottom:.025rem solid #ece6de}.fitness-exercise-main{width:100%;margin:0;padding:0;border:0;color:inherit;background:transparent;text-align:left}.fitness-exercise-name,.fitness-exercise-en{display:block;min-width:0;overflow-wrap:anywhere}.fitness-exercise-name{font-size:.625rem;font-weight:700}.fitness-exercise-en{margin-top:.1rem;color:#817970;font-size:.475rem}.fitness-tags{display:flex;min-width:0;flex-wrap:wrap;gap:.175rem;margin-top:.225rem}.fitness-tags taro-text-core{padding:.125rem .225rem;border-radius:24.975rem;color:#607463;background:#edf5e9;font-size:.45rem}.fitness-tags.detail{margin-top:.3rem}.fitness-row-action{min-width:1.65rem;min-height:1.4rem;margin:0;padding:.2rem .3rem;border:0;border-radius:.375rem;color:#2f7d3b;background:#edf7e9;font-size:.5rem;line-height:1.2}.fitness-load-more{margin-top:.45rem}.fitness-state-card,.fitness-empty-card{display:flex;min-width:0;flex-direction:column;align-items:center;gap:.35rem;text-align:center}.fitness-empty-mark{display:block;color:#4d8758;font-size:1.3rem;font-weight:700}.fitness-form{display:flex;flex-direction:column;gap:.3rem}.fitness-form taro-label-core,.fitness-set-fields taro-label-core{min-width:0;color:#504a43;font-size:.525rem;font-weight:650}.fitness-select,.fitness-mode-row select,.fitness-set-fields select{width:100%;min-width:0;height:1.8rem;padding:0 .375rem;border:.025rem solid #ded7ce;border-radius:.4rem;box-sizing:border-box;color:#2b2926;background:#fff;font:inherit;font-size:.575rem}.fitness-file-picker,.fitness-note-add{position:relative;display:flex;align-items:center;justify-content:center}.fitness-file-picker taro-input-core,.fitness-note-add taro-input-core{position:absolute;width:.025rem;height:.025rem;overflow:hidden;opacity:0}.fitness-media-preview img,.fitness-media-preview taro-video-core{width:100%;max-height:11rem;border-radius:.45rem;-o-object-fit:contain;object-fit:contain;background:#f1eee8}.fitness-detail-heading{margin-top:.55rem;display:flex;align-items:flex-start;justify-content:space-between;gap:.4rem}.fitness-detail-heading>taro-view-core{min-width:0;flex:1}.fitness-detail-name{display:block;overflow-wrap:anywhere;font-size:.9rem;font-weight:760}.fitness-detail-media{min-height:8.25rem;margin-top:.5rem;border-radius:.6rem;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#777069;background:#eeebe5}.fitness-detail-media taro-image-core,.fitness-detail-media taro-video-core{width:100%;height:10.5rem}.fitness-media-empty{display:flex;flex-direction:column;align-items:center;gap:.25rem}.fitness-note-card{min-width:0}.fitness-backup-switch,.fitness-note-meta{display:flex;align-items:center;gap:.25rem}.fitness-note-meta{justify-content:space-between;margin-top:.2rem}.fitness-note-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;margin-top:.35rem}.fitness-note-photo,.fitness-note-add{min-width:0;aspect-ratio:1;border-radius:.4rem;overflow:hidden;background:#eeeae4}.fitness-note-photo{position:relative}.fitness-note-photo img,img.fitness-note-photo{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.fitness-note-photo taro-button-core{position:absolute;top:.125rem;right:.125rem;width:1.05rem;height:1.05rem;min-width:0;margin:0;padding:0;border:0;border-radius:50%;color:#fff;background:rgba(70,51,44,.74);font-size:.65rem;line-height:.95rem}.fitness-note-add{border:.05rem dashed #92b198;color:#2f7d3b;font-size:1.05rem}.fitness-detail-copy{display:block;margin-top:.35rem;font-size:.675rem}.fitness-step{display:grid;grid-template-columns:1.15rem minmax(0,1fr);gap:.3rem;margin-top:.4rem;font-size:.575rem;line-height:1.55}.fitness-step taro-text-core:first-child{width:1.05rem;height:1.05rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:#5b8f63}.fitness-error-line{display:block;margin-top:.25rem;overflow-wrap:anywhere;color:#a64f43;font-size:.5rem}.detail-actions{position:sticky;bottom:calc(.3rem + env(safe-area-inset-bottom));padding:.3rem;border:.025rem solid #e4ddd4;border-radius:.55rem;background:rgba(255,252,247,.96)}.fitness-timer{position:sticky;z-index:12;top:calc(2.2rem + env(safe-area-inset-top));margin:0 -.2rem .35rem;padding:.35rem .45rem;border:.025rem solid #dce8d7;border-radius:.5rem;display:flex;align-items:center;justify-content:space-between;gap:.3rem;background:rgba(239,247,235,.98)}.fitness-timer taro-text-core{display:block;font-size:.475rem}.fitness-timer-value{margin-top:.05rem;font-size:.75rem!important;font-variant-numeric:tabular-nums;font-weight:750}.fitness-timer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem}.fitness-timer-actions taro-button-core,.fitness-editor-actions taro-button-core,.fitness-set-head taro-button-core,.fitness-add-set{min-width:0;min-height:1.25rem;margin:0;padding:.2rem .3rem;border:0;border-radius:.35rem;color:#2f7d3b;background:#e2f1df;font-size:.475rem;line-height:1.2}.fitness-record-date{padding:.6rem .1rem .2rem;display:flex;align-items:flex-start;justify-content:space-between;gap:.35rem}.fitness-date-value{position:relative;display:block;margin-top:.175rem;color:#2f7d3b;font-size:.75rem;font-weight:750}.fitness-save-status{margin-top:.175rem}.fitness-save-status.dirty{color:#a86728}.topbar-text-action{width:1.7rem;min-width:0;height:1.45rem;margin:0;padding:0;border:0;color:#2f7d3b;background:transparent;font-size:.5rem}.fitness-editor-card{min-width:0}.fitness-editor-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:.25rem}.fitness-editor-name{width:100%;margin:0;padding:0;border:0;color:inherit;background:transparent;text-align:left}.fitness-editor-actions{display:flex;gap:.175rem}.fitness-editor-actions taro-button-core:last-child{color:#a25248;background:#faece8}.fitness-mode-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.35rem;margin-top:.45rem;font-size:.55rem}.fitness-set{min-width:0;margin-top:.4rem;padding:.35rem;border-radius:.45rem;background:#f7f4ef}.fitness-set-head{display:flex;align-items:center;justify-content:space-between;font-size:.525rem;font-weight:700}.fitness-set-head taro-button-core{width:1.15rem;color:#9c5047;background:#fae9e5;font-size:.65rem}.fitness-set-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;margin-top:.25rem}.fitness-set-fields taro-label-core{display:flex;flex-direction:column;gap:.125rem;font-size:.45rem}.fitness-set-input,.fitness-set-fields select{width:100%;min-width:0;height:1.45rem;padding:0 .2rem;border:.025rem solid #ddd5cb;border-radius:.3rem;box-sizing:border-box;color:#2b2926;background:#fff;font-size:.525rem;text-align:center}.fitness-add-set{width:100%;margin-top:.325rem}.fitness-record-help{margin-top:.4rem;text-align:center}@media (max-width: 420px){.fitness-actions,.fitness-shortcuts{grid-template-columns:minmax(0,1fr)}.fitness-history-date{width:2.05rem}.fitness-set-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.fitness-editor-head{grid-template-columns:minmax(0,1fr)}.fitness-editor-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
