.climb-details{margin:8px 0 12px;color:#8d809a;font-size:11px}.climb-details>summary{display:inline-flex;align-items:center;min-height:32px;padding:0 8px;border-radius:99px;list-style:none;background:#eee8f3;cursor:pointer}.climb-details>summary::-webkit-details-marker{display:none}.climb-details-panel{padding:8px 0 4px;display:flex;align-items:center;flex-wrap:wrap;gap:9px 16px}.attempt-picker{display:flex;align-items:center;gap:3px}.attempt-picker label{margin-right:8px;font-size:11px}.attempt-picker button{border:0;background:transparent;min-width:36px;min-height:40px;color:#80629e;font-size:15px}.attempt-picker input{width:48px;padding:6px 2px;background:transparent;border:0;text-align:center;font-size:16px}.attempt-picker .attempt-clear{font-size:10px;min-width:34px;color:#a097a8}.flash-toggle{border:0;background:transparent;border-radius:99px;color:#93859f;font-size:12px;min-height:40px;padding:0 10px}.flash-toggle.active{color:#7854ac;background:#eae0f7}.flash-toggle small{font-size:9px;margin-left:4px;color:#a094aa}.climb-details .details-error{flex:0 0 100%;margin:0;font-size:10px;color:#b4424d}.climb-detail-badges{display:inline-flex;flex-wrap:wrap;gap:7px;font-size:10px;color:#95879f}.flash-badge{color:#885cc0;font-weight:600}.details-editor-context{font-size:12px;color:#988b9e;margin:16px 0}.analytics-history footer{gap:12px;flex-wrap:wrap}.details-editor .modal-inner{padding:20px}.details-editor .climb-details{margin:12px 0 24px}.modal.entry-editor.details-only{height:min(280px,calc(var(--composer-viewport) - 8px - env(safe-area-inset-top)))}.analytics{--analytics-ink:#10182c;--analytics-muted:#8c8e9c;--analytics-purple:#8a5ed9;--analytics-pink:#ed91bf;color:var(--analytics-ink);background:#faf9f5;padding:25px 0 16px}.analytics-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.analytics-heading h1{font-size:32px;letter-spacing:-1px;line-height:1.2;margin:0;font-weight:750}.analytics-refresh{width:44px;height:44px;background:none;border:0;color:var(--analytics-muted);display:grid;place-items:center}.analytics-filters{display:grid;gap:13px}.analytics-gym-label{display:flex;align-items:center;gap:13px;min-width:0}.analytics-gym-label>span{font-size:12px;color:var(--analytics-muted);white-space:nowrap}.analytics-gym-label select{width:100%;min-width:0;padding:10px 28px 10px 0;border:0;border-bottom:1px solid #e6e3eb;border-radius:0;background:transparent;font-size:14px;font-weight:500;color:var(--analytics-ink);text-overflow:ellipsis}.analytics-periods{display:flex;gap:6px}.analytics-periods button{flex:1;min-height:35px;font-size:12px;border:1px solid transparent;border-radius:20px;background:transparent;color:var(--analytics-muted);padding:7px 9px}.analytics-periods button[aria-pressed=true]{background:#ece4f8;color:#7044bd;font-weight:600}.analytics-custom-dates{display:flex;gap:8px;align-items:flex-end}.analytics-custom-dates label{font-size:10px;color:var(--analytics-muted);min-width:0;flex:1}.analytics-custom-dates input{display:block;margin-top:5px;background:#efedf3;padding:9px 5px;min-height:40px;border-radius:7px;width:100%;min-width:0;font-size:12px;color:var(--analytics-ink)}.analytics-custom-dates>span{padding-bottom:10px;color:var(--analytics-muted)}.analytics-context{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:20px 0 24px}.analytics-legend{display:flex;gap:20px;list-style:none;padding:0;margin:0}.analytics-legend li{display:flex;align-items:center;gap:6px;font-size:12px;line-height:1.4}.analytics-context>p{font-size:11px;color:var(--analytics-muted);margin:0;white-space:nowrap}.analytics-plot{margin:0 0 22px}.analytics-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:4px}.analytics-section-heading h2{font-size:20px;line-height:1.35;font-weight:700;margin:0;letter-spacing:-.45px}.analytics-section-heading>span{font-size:10px;color:var(--analytics-muted)}.analytics-chart-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#d7cce8 transparent;-webkit-overflow-scrolling:touch}.analytics-chart{display:block;min-width:100%;max-width:none;overflow:visible;font-family:inherit}.analytics-axis{font-size:11px;fill:var(--analytics-muted);font-weight:400}.analytics-grade-label{font-size:12px;fill:var(--analytics-muted)}.analytics-value{font-size:12px;font-weight:600}.analytics-scroll-hint{font-size:10px;color:var(--analytics-muted);text-align:right;margin:2px 0 0}.analytics-chart-empty{min-height:180px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--analytics-muted);font-size:12px;line-height:1.9}.analytics-empty-note{font-size:12px;color:var(--analytics-muted);margin:4px 0 22px;line-height:1.7}.analytics-range-error{font-size:12px;padding:15px 0;color:#9b4e57;line-height:1.7}.analytics-pair-totals{display:flex;gap:24px;padding:2px 0 24px}.analytics-pair-totals>div{display:flex;align-items:center;gap:7px;flex:1;font-size:13px}.analytics-pair-totals strong{margin-left:auto;font-size:22px;line-height:1;font-weight:650;letter-spacing:-.5px}.analytics-pair-totals small{font-size:10px;font-weight:400;color:var(--analytics-muted)}.analytics-data,.analytics-history{border-top:1px solid #e4e1e8}.analytics-data>summary,.analytics-history>summary{font-size:12px;min-height:48px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;color:#747788}.analytics-data>summary:after,.analytics-history>summary:after{content:"\ff0b";font-size:15px;color:var(--analytics-muted)}.analytics-data[open]>summary:after,.analytics-history[open]>summary:after{content:"\2212"}.analytics-data summary::-webkit-details-marker,.analytics-history summary::-webkit-details-marker{display:none}.analytics-history>summary small{font-size:10px;font-weight:400;margin-left:auto;margin-right:12px;color:var(--analytics-muted)}.analytics-table-scroll{overflow-x:auto;max-height:420px;overflow-y:auto;padding-bottom:15px}.analytics table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums;margin:0 0 17px}.analytics caption{text-align:left;font-size:11px;color:var(--analytics-muted);padding:8px 0}.analytics th,.analytics td{text-align:right;border-bottom:1px solid #e9e6ed;padding:8px 5px;font-weight:400}.analytics th:first-child{text-align:left;max-width:180px;overflow-wrap:anywhere}.analytics thead th{font-weight:600;background:#f2eff5}.analytics tbody td:nth-child(2){color:#7950c2}.analytics tbody td:nth-child(3){color:#b64d83}.analytics-history ol{list-style:none;margin:0;padding:0}.analytics-history li{padding:14px 0;border-bottom:1px solid #e9e6ed}.analytics-history-top{display:flex;gap:10px;align-items:baseline;font-size:12px}.analytics-history-top strong{font-weight:600}.analytics-history-top time{color:var(--analytics-muted);font-size:10px}.analytics-history-top b{margin-left:auto;font-size:17px;font-weight:600}.analytics-history-top small{font-size:10px;font-weight:400;color:var(--analytics-muted)}.analytics-history li p{font-size:12px;color:#6d7081;margin:9px 0 0;overflow-wrap:anywhere}.analytics-history .analytics-history-note{font-size:11px;white-space:pre-wrap}.analytics-history footer{display:flex;justify-content:flex-end;margin-top:6px}.analytics-history footer button,.analytics-history footer span{display:flex;align-items:center;gap:5px;border:0;background:none;font-size:10px;color:var(--analytics-muted);min-height:36px;padding:6px 0}.analytics-history footer button{color:#8a6295}.analytics-history-empty{font-size:12px;line-height:1.8;color:var(--analytics-muted);padding:9px 0 18px}.analytics-more{border:0;background:none;color:#7950c2;padding:14px 0;font-size:12px;min-height:44px;width:100%}.analytics button:focus-visible,.analytics select:focus-visible,.analytics input:focus-visible,.analytics summary:focus-visible,.analytics-chart-scroll:focus-visible{outline:2px solid #8a5ed9;outline-offset:3px}@media(max-width:360px){.analytics-heading h1{font-size:29px}.analytics-context{gap:7px}.analytics-legend{gap:13px}.analytics-pair-totals{gap:16px}}@media(prefers-reduced-motion:reduce){.analytics *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.analytics-grade-group h3{font-size:12px;font-weight:500;color:var(--analytics-muted);margin:13px 0 0}.analytics-grade-group+.analytics-grade-group{margin-top:14px}.install-help{padding:18px 0;border-top:1px solid #e4e1e8;border-bottom:1px solid #e4e1e8;margin:22px 0;color:#10182c}.install-help-heading{display:flex;align-items:center;gap:10px;margin-bottom:10px}.install-help-heading img{border-radius:9px;flex:none}.install-help h2{font-size:15px;line-height:1.4;margin:0;font-weight:600}.install-help p,.install-help li{font-size:12px;color:#737687;line-height:1.8}.install-help p{margin:10px 0 0}.install-help ol{padding-left:20px;margin:10px 0 0}.install-help li+li{margin-top:6px}.install-help .install-privacy{font-size:11px;color:#8b8e9b;margin-top:14px}.install-action{display:block;width:100%;min-height:44px;border:0;border-radius:24px;padding:10px 16px;background:#8a5ed9;color:#fff;font-size:14px;margin:14px 0}.install-action:focus-visible{outline:2px solid #10182c;outline-offset:3px}.install-help .install-status{color:#71539e}.install-help .install-update{font-size:11px;padding:10px 12px;border-radius:9px;background:#eee8f7;color:#75648f}.feed{--feed-ink:#10182c;--feed-muted:#9295a2;--feed-purple:#8a5ed9;--feed-pink:#d26b9e;padding:25px 0 24px;background:#faf9f5;color:var(--feed-ink)}.feed-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:19px}.feed-heading h1{font-size:32px;line-height:1.2;letter-spacing:-1px;font-weight:750;margin:0}.feed-heading p{font-size:11px;color:var(--feed-muted);margin:8px 0 0}.feed-refresh{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--feed-muted)}.feed-posts{list-style:none;padding:0;margin:0}.feed-post{padding:21px 0 24px;border-bottom:1px solid #e7e4eb}.feed-post:first-child{padding-top:10px}.feed-post-header{display:flex;align-items:center;gap:10px;min-height:40px;margin-bottom:12px}.feed-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:16px;font-weight:600;background:#eee7f7}.feed-person-wiki{color:var(--feed-purple)}.feed-person-kuma{color:var(--feed-pink)}.feed-person-unknown{color:#737685}.feed-avatar.feed-person-kuma{background:#fae8f0}.feed-avatar.feed-person-unknown{background:#eae9ed}.feed-author{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.feed-author strong{font-size:14px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}.feed-author time{font-size:10px;line-height:1.6;color:var(--feed-muted);font-variant-numeric:tabular-nums}.feed-readonly{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--feed-muted);white-space:nowrap}.feed-context{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 11px;color:#737583;font-size:11px;line-height:1.65;margin:0 0 9px;overflow-wrap:anywhere}.feed-grade{color:#9295a2}.feed-grade strong{font-size:12px;color:#69547d;font-weight:600}.feed-attempts{color:#87808e;font-variant-numeric:tabular-nums}.feed-flash{font-size:9px;font-weight:650;line-height:1.6;color:#8054bd;background:#eee6f8;border-radius:5px;padding:1px 6px;letter-spacing:.1px}.feed-caption{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.8;letter-spacing:.05px;margin:0 0 13px}.feed-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%;overflow:hidden;border-radius:9px;margin-top:12px}.feed-photos img,.feed-photo-unavailable{display:block;width:100%;height:100%;min-width:0;aspect-ratio:1;object-fit:cover;background:#eeebf0}.feed-photos-1{grid-template-columns:minmax(0,1fr)}.feed-photos-1 img,.feed-photos-1 .feed-photo-unavailable{aspect-ratio:4/3;max-height:430px}.feed-photos-3>:first-child{grid-row:span 2;height:100%;aspect-ratio:auto}.feed-photo-unavailable{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;color:#9792a0;text-align:center;padding:12px}.feed-photo-unavailable span{font-size:10px;line-height:1.5}.feed-video{display:block;width:100%;height:100%;min-width:0;aspect-ratio:1;object-fit:contain;background:#211e26}.feed-photos-1 .feed-video{aspect-ratio:4/3;max-height:430px}.feed-with-video>:is(.feed-video,.feed-video-unavailable){grid-column:1/-1;grid-row:auto;aspect-ratio:4/3;min-height:180px;max-height:430px}.feed-with-video.feed-photos-3>:first-child{grid-row:auto;aspect-ratio:1}.feed-with-video.feed-photos-3>:is(.feed-video,.feed-video-unavailable):first-child{aspect-ratio:4/3}.feed-video-unavailable{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:20px 16px;background:#eeebf0;text-align:center;color:#9792a0;min-width:0}.feed-video-unavailable p{font-size:12px;color:#777080;margin:0}.feed-video-unavailable>span{font-size:10px;line-height:1.7;max-width:240px}.feed-video-unavailable a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;color:#8054c6;font-size:11px;padding:4px 12px}.feed-actions{position:relative;margin-right:-9px;align-self:flex-start;z-index:1}.feed-actions[open]{z-index:2}.feed-actions summary{list-style:none;width:44px;height:40px;display:grid;place-items:center;color:#9295a2;cursor:pointer;border-radius:8px}.feed-actions summary::-webkit-details-marker{display:none}.feed-actions summary::marker{display:none}.feed-actions[open] summary{background:#eee8f5;color:#8054c6}.feed-actions-panel{position:absolute;right:0;top:43px;min-width:162px;padding:5px;border-radius:12px;background:#fffdfa;border:1px solid #e8e4ed;box-shadow:0 7px 22px #34254c12}.feed-actions-panel button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:9px 12px;text-align:left;border:0;border-radius:7px;background:none;font-size:12px}.feed-actions-panel button:active{background:#f0eaf7}.feed-actions-panel .feed-delete{color:#b84f63}.feed-actions-panel small{display:block;padding:3px 12px 8px;font-size:9px;line-height:1.5;color:var(--feed-muted)}.feed-error{padding:13px 0 15px;border-bottom:1px solid #e7e4eb;font-size:12px;color:#a35464;line-height:1.7}.feed-error p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 6px}.feed-error button,.feed-more{min-height:44px;background:none;border:0;color:#8054c6;font-size:12px;padding:8px 0}.feed-state{min-height:270px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:var(--feed-muted);padding:30px 6px}.feed-state>svg{color:#b4a1ce;margin-bottom:18px}.feed-state h2{font-size:17px;font-weight:600;color:#6f657d;margin:0 0 9px;letter-spacing:-.2px}.feed-state p{font-size:12px;line-height:1.9;max-width:260px;margin:0}.feed-state small{font-size:10px;margin-top:16px;color:#a8a3ae}.feed-loading-dot{width:7px;height:7px;margin-bottom:16px;border-radius:50%;background:#b69bdc;animation:feed-pulse 1s ease-in-out infinite alternate}.feed-more{display:block;width:100%;margin-top:13px}.feed-footer{text-align:center;font-size:10px;color:#aaa4b1;margin:22px 0 0;line-height:1.6}.feed :is(button,summary):focus-visible{outline:2px solid var(--feed-purple);outline-offset:3px}@keyframes feed-pulse{to{opacity:.35}}@media(prefers-reduced-motion:reduce){.feed-loading-dot{animation:none}}.modal.composer-sheet{--composer-viewport:100dvh;--composer-bottom:0px;position:fixed;inset:auto 0 var(--composer-bottom);margin:0 auto;width:100%;max-width:430px;height:min(570px,calc(var(--composer-viewport) - 8px - env(safe-area-inset-top)));max-height:calc(var(--composer-viewport) - 8px - env(safe-area-inset-top));border-radius:22px 22px 0 0;overflow:hidden;background:#faf9f5;box-shadow:0 -12px 60px #19132615}.composer-sheet .modal-inner{height:100%;max-height:100%;display:flex;flex-direction:column;padding:0;overflow:hidden}.composer-header{display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;flex:0 0 60px;min-height:60px;padding:5px 16px;border-bottom:1px solid #ebe7ed;background:#faf9f5;position:relative;z-index:2}.composer-header h2{font-size:15px;font-weight:600;text-align:center;margin:0;letter-spacing:-.2px}.composer-header button{font:inherit;font-size:14px;min-height:44px;padding:0 5px;border:0;background:transparent;color:#6e6777}.composer-header .composer-publish{font-weight:650;color:#8659d6;text-align:right}.composer-header .composer-cancel{text-align:left}.composer-header button:disabled{color:#c7bfce;opacity:1}.post-composer{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 22px calc(20px + env(safe-area-inset-bottom));scroll-padding-block:16px}.post-composer .composer-context{display:flex;align-items:baseline;gap:8px;min-width:0;margin:0 0 21px;color:#94909a;font-size:10px;line-height:1.55}.composer-context>strong{font-size:12px;font-weight:600;color:#6e5a83;flex-shrink:0}.composer-context-gym{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;flex:1}.composer-context-grade{color:#786b83;max-width:40%;overflow-wrap:anywhere;text-align:right}.composer-context-grade small{font-size:10px;color:#a39aa9}.post-composer textarea{display:block;width:100%;min-height:132px;max-height:320px;resize:none;border:0;border-radius:0;padding:0;background:transparent;color:#272034;font:inherit;font-size:16px;line-height:1.85;box-shadow:none;outline:none;overflow-y:auto}.post-composer textarea:focus-visible{outline:1px solid #bda9d94d;outline-offset:6px;border-radius:3px}.post-composer textarea::placeholder{color:#aaa3b0}.post-composer textarea:disabled{opacity:.7}.post-composer .composer-caption-count{font-size:10px;color:#a59aa9;text-align:right;margin:5px 0 0}.composer-photos{display:flex;gap:9px;overflow-x:auto;scrollbar-width:thin;padding:13px 0 4px;margin:0 -2px 6px;overscroll-behavior-x:contain}.composer-photo{flex:0 0 103px;width:103px;height:112px;position:relative;overflow:hidden;border-radius:10px;background:#eeeaf3}.composer-photo img{width:100%;height:100%;object-fit:cover}.composer-photo button{position:absolute;right:0;top:0;width:44px;height:44px;border:0;border-radius:50%;display:grid;place-items:center;color:#fff;background:transparent}.composer-photo button:before{content:"";position:absolute;inset:8px;border-radius:50%;background:#292133b3}.composer-photo button svg{position:relative}.composer-photo-actions{display:flex;align-items:center;gap:23px;margin:13px -3px 0}.composer-add-photo{display:flex;align-items:center;justify-content:flex-start;gap:7px;min-height:44px;padding:0 3px;border:0;border-radius:0;background:transparent;color:#8865b3;font:inherit;font-size:12px;white-space:nowrap}.composer-add-photo:disabled{opacity:.4}.composer-photo-count{margin-left:auto;font-size:10px;color:#a39aaa;white-space:nowrap}.post-composer .composer-processing,.post-composer .composer-photo-note{margin:5px 0 12px;font-size:11px;color:#8c8198;line-height:1.6}.post-composer .composer-error{color:#b4424d;background:#faeceb;border-radius:8px;padding:10px;font-size:12px;line-height:1.6;margin:9px 0}.post-composer .composer-pending{font-size:11px;line-height:1.7;color:#926f42;background:#f6eee2;padding:9px;border-radius:8px;margin:9px 0}.composer-details{margin-top:17px;color:#ada4b3;font-size:10px}.composer-details summary{min-height:32px;line-height:32px;cursor:pointer;list-style:none;width:max-content}.composer-details summary::-webkit-details-marker{display:none}.composer-details summary:after{content:" \fe40";font-size:9px}.composer-details[open] summary:after{content:" \fe41"}.post-composer .composer-details p{font-size:10px;line-height:1.8;color:#9a8fa4;margin:5px 0 9px}.home-confirm{flex-direction:column;align-items:center;gap:8px}.home-post-entry{border:0;background:none;color:#a39aaa;font-size:11px;min-height:28px;padding:0 16px}.confirm-button{-webkit-touch-callout:none;user-select:none}.bottom-nav{justify-content:space-around}.feed-edit-caption{width:100%;min-height:140px;background:#f0edf3;border:0;border-radius:10px;padding:13px;font:inherit;font-size:14px;line-height:1.7;margin:18px 0}.feed-delete-note{color:#77707f}@media(max-height:560px){.composer-header{flex-basis:53px;min-height:53px}.post-composer{padding-top:12px}.post-composer .composer-context{margin-bottom:13px}.post-composer textarea{min-height:96px}.composer-details{margin-top:8px}}@media(min-width:600px){.modal.composer-sheet{border-radius:22px;margin-bottom:18px;max-height:calc(var(--composer-viewport) - 36px)}}.composer-photo video{width:100%;height:100%;object-fit:cover;background:#24202b}.composer-video-label{position:absolute;left:7px;bottom:7px;font-size:9px;color:#fff;background:#292133a8;padding:1px 5px;border-radius:4px}.composer-upload{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#9275ad;min-height:36px}.composer-upload button{font-size:11px;color:#997f9a;min-height:36px;background:transparent;border:0}.post-composer .climb-details{margin-top:0}:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Noto Sans CJK SC,Microsoft YaHei,sans-serif;color:#1c1c1e;background:#fff;font-synthesis:none;font-size:16px;line-height:1.5;--blue:#007aff;--muted:#8e8e93;--line:#e5e5ea;--fill:#f2f2f7}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,summary,select,textarea{-webkit-tap-highlight-color:transparent;outline-offset:3px}button{cursor:pointer;color:inherit;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.4}button svg{flex-shrink:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--blue)}a{color:var(--blue);text-decoration:none}.app-shell{max-width:430px;min-height:100dvh;margin:auto;padding:0 18px 100px;background:#fff}.app-header{height:81px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;flex-direction:column;gap:1px}.brand strong{font-size:20px;line-height:1.25;letter-spacing:-.65px;font-weight:700}.brand>span{font-size:11px;color:var(--muted);letter-spacing:.1px}.profile-name{border:0;background:none;font-size:14px;padding:12px 0 12px 12px;min-height:44px}.mode-banner{color:#8b742a;background:#fff9e8;padding:6px 9px;border-radius:6px;margin:8px 0;font-size:10px}.form-rows{border-bottom:1px solid var(--line)}.gym-select,.date-field{width:100%;min-height:53px;display:flex;align-items:center;gap:15px;border:0;border-bottom:1px solid var(--line);background:#fff;padding:11px 0;text-align:left;font-size:15px;position:relative}.date-field{border-bottom:0}.gym-select>span,.date-field>span{flex:1;min-width:0}.gym-select>svg,.date-field>svg{color:var(--muted)}.date-field small{color:var(--muted);font-size:12px}.date-field input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0;border:0;font-size:16px}.date-field input::-webkit-calendar-picker-indicator{width:100%;height:100%;cursor:pointer}.grade-section{margin-top:21px}.grade-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}h1,h2,h3,p{margin-top:0}.grade-heading h1{font-size:20px;line-height:1.35;margin:0;font-weight:650;letter-spacing:-.45px}.grade-note{color:var(--muted);font-size:11px;margin:5px 0 15px}.text-button{border:0;background:transparent;color:var(--blue);display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:5px 0;font-size:12px;min-height:32px}.grade-heading .text-button{white-space:nowrap;font-size:12px}.grade-heading .text-button svg{color:var(--muted)}.grade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.grade-button{position:relative;min-height:79px;padding:15px 8px 12px;border:0;border-radius:13px;background:var(--fill);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;transition:background .12s,transform .1s}.grade-button>svg{position:absolute;top:9px;right:9px;color:var(--blue);width:17px;height:17px}.grade-button strong{font-size:27px;font-weight:650;line-height:1.25;max-width:100%;overflow-wrap:anywhere}.grade-button>span{font-size:11px;color:var(--muted)}.grade-button:active{background:#e7effb;transform:scale(.97)}.session-summary{display:flex;align-items:center;min-height:68px;border-bottom:1px solid var(--line);gap:25px;margin-top:9px}.session-summary>span{font-size:14px;flex:1}.session-summary>div{display:flex;align-items:baseline;gap:6px}.session-summary strong{font-size:29px;font-weight:650;letter-spacing:-1px;line-height:1}.session-summary small{font-size:13px;color:var(--muted)}.undo{color:var(--muted);font-size:13px;gap:7px}.notes-details summary{min-height:52px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:14px;border-bottom:1px solid var(--line);list-style:none}.notes-details summary::-webkit-details-marker{display:none}.notes-details summary svg{color:var(--muted)}.notes-details[open] summary{border-bottom:0}.notes-details textarea{margin-bottom:10px}.count-adjustments{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:12px}.count-adjustments label{display:flex;align-items:center;gap:6px;font-size:12px}.count-adjustments input{width:58px;padding:7px;font-size:13px}.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:11px;padding:11px 16px;border:1px solid transparent;font-size:15px;font-weight:550;line-height:1.4}.button.primary{background:var(--blue);color:#fff}.button.secondary{color:var(--blue);background:var(--fill)}.button.danger{color:#fff;background:#ff3b30}.full{width:100%}.save-button{margin-top:17px;min-height:43px;font-size:16px}.save-button:disabled{opacity:1;background:#c7ddfa;color:#5d8bbb}.privacy-hint{text-align:center;color:var(--muted);font-size:11px;margin:9px 0 0}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);max-width:430px;width:100%;display:flex;justify-content:space-around;padding:9px 10px calc(8px + env(safe-area-inset-bottom));background:#ffffffed;border-top:1px solid var(--line);z-index:20;backdrop-filter:blur(15px)}.bottom-nav button{border:0;background:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;min-height:45px;width:90px;padding:0}.bottom-nav button.active{color:var(--blue)}.bottom-nav button svg{stroke-width:1.6}.toast{position:fixed;bottom:86px;left:50%;transform:translate(-50%);width:max-content;max-width:calc(100% - 28px);padding:11px 16px;border-radius:12px;background:#242426eb;color:#fff;font-size:12px;display:flex;align-items:center;gap:8px;z-index:60;box-shadow:0 4px 22px #0002}.icon-button{border:0;background:transparent;min-height:44px;min-width:44px;display:inline-flex;justify-content:center;align-items:center;border-radius:9px;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:12px}.page-heading{font-size:22px;line-height:1.3;font-weight:650;letter-spacing:-.5px;margin:24px 0 18px}.title-row{display:flex;align-items:center;justify-content:space-between}.title-row .icon-button{margin-top:8px}.segments{display:flex;gap:3px;border-radius:9px;background:var(--fill);padding:3px}.segments button{flex:1;border:0;background:none;border-radius:7px;font-size:13px;min-height:32px;color:#636368}.segments button.active{background:#fff;color:#1c1c1e;font-weight:550;box-shadow:0 1px 4px #0001}.history-filters{display:grid;grid-template-columns:1.45fr 1fr;gap:12px;margin:16px 0}.history-filters label{min-width:0}.history-filters label>span{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}input,textarea,select{border:0;border-radius:9px;background:var(--fill);padding:11px;color:#1c1c1e;font-size:14px;max-width:100%}textarea{resize:vertical;width:100%;display:block}.history-filters select,.history-filters input{width:100%;min-height:40px;font-size:12px;padding:9px}.history-summary{display:flex;gap:35px;padding:18px 0;border-block:1px solid var(--line);margin:18px 0}.history-summary>div{display:flex;align-items:baseline;gap:7px}.history-summary strong{font-size:26px;line-height:1;font-weight:650;letter-spacing:-.7px}.history-summary span{font-size:11px;color:var(--muted)}.breakdown{margin:23px 0 26px}.breakdown>summary{font-size:15px;font-weight:550;cursor:pointer}.breakdown>summary small{float:right;font-size:10px;font-weight:400;color:var(--muted);margin-top:3px}.grade-breakdown h3{font-size:11px;font-weight:500;color:#636368;margin:17px 0 10px}.bar-row{display:flex;align-items:center;gap:13px;font-size:12px;margin:7px 0}.bar-row>span{width:28px;text-align:center;font-weight:500}.bar-row progress{flex:1;width:100%;height:6px;border:0;border-radius:4px;appearance:none;background:var(--fill)}.bar-row progress::-webkit-progress-bar{background:var(--fill);border-radius:4px}.bar-row progress::-webkit-progress-value{background:#77b4fa;border-radius:4px}.bar-row progress::-moz-progress-bar{background:#77b4fa;border-radius:4px}.bar-row strong{font-size:11px;min-width:35px;font-weight:500}.bar-row small{font-weight:400;color:var(--muted)}.list-title{font-size:16px;font-weight:600;margin:23px 0 0}.session-card{padding:19px 0;border-bottom:1px solid var(--line)}.session-card-head{display:flex;align-items:center;gap:10px}.avatar{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;background:var(--fill);color:#636368;border-radius:50%;font-size:15px;font-weight:500}.session-card-head>div{display:flex;flex-direction:column}.session-card-head>div strong{font-size:13px;font-weight:550}.session-card-head>div small{font-size:10px;color:var(--muted)}.session-count{margin-left:auto;font-size:22px;font-weight:600}.session-count small{font-size:11px;color:var(--muted);font-weight:400}.session-location{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);margin:12px 0}.entry-chips{display:flex;flex-wrap:wrap;gap:6px}.entry-chips>span{font-size:12px;padding:4px 9px;background:var(--fill);border-radius:6px}.entry-chips b{font-weight:400;color:var(--muted);font-size:10px}.session-note{font-size:12px;color:#636368;white-space:pre-wrap;overflow-wrap:anywhere;margin:11px 0 0}.session-card footer{display:flex;gap:18px;justify-content:flex-end;margin-top:9px}.session-card footer .text-button{font-size:11px}.read-only{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;min-height:32px}.identity-row{min-height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:14px}.identity-row strong{font-weight:500}.settings-note{font-size:11px;line-height:1.8;color:var(--muted);margin:13px 0 24px}.settings-list{border-top:1px solid var(--line)}.settings-list>button{display:flex;align-items:center;width:100%;min-height:56px;background:none;border:0;border-bottom:1px solid var(--line);padding:13px 0;text-align:left;gap:13px}.settings-list>button>svg{color:var(--muted)}.settings-list>button>span{flex:1;font-size:14px}.settings-list small{font-size:10px;color:var(--muted);display:block;margin-top:3px}.help-copy{margin:29px 0}.help-copy h2{font-size:12px;font-weight:550;margin:20px 0 6px}.help-copy p{font-size:11px;color:var(--muted);line-height:1.8;margin-bottom:0}.empty-state{text-align:center;padding:35px 10px}.empty-state>svg{color:#aeaeb2;margin-bottom:14px}.empty-state h2{font-size:19px;margin-bottom:8px}.empty-state p{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:20px}.error-banner{display:flex;align-items:center;gap:8px;background:#fff2ef;color:#bc4035;padding:11px 12px;border-radius:9px;font-size:12px;line-height:1.7;margin:12px 0}.error-banner>span{flex:1}.error-banner .icon-button{min-height:28px;min-width:28px}.modal{width:calc(100% - 24px);max-width:420px;max-height:87dvh;border:0;background:#fff;border-radius:17px;padding:0;color:inherit;margin:auto;box-shadow:0 20px 80px #0002}.modal::backdrop{background:#0005;backdrop-filter:blur(4px)}.modal-inner{padding:20px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-header h2{font-size:19px;font-weight:600;margin:0}.modal p{font-size:12px;line-height:1.8}.gym-list{display:grid;margin:16px 0}.gym-option{display:flex;align-items:center;gap:11px;border:0;border-bottom:1px solid var(--line);padding:15px 0;background:#fff;text-align:left}.gym-option>svg{color:var(--muted)}.gym-option.selected>svg:last-child{color:var(--blue)}.gym-option>span{flex:1}.gym-option strong{font-size:13px;font-weight:500;display:block}.gym-option small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.custom-gym{border-top:1px solid var(--line);padding-top:12px}.custom-gym h3{font-size:15px}.custom-gym label{font-size:12px;display:block;margin:14px 0}.custom-gym input,.custom-gym textarea{width:100%;display:block;margin-top:7px;font-size:13px}.dialog-actions{display:flex;gap:9px;margin-top:24px}.dialog-actions>*{flex:1}.inline-error{color:#bc4035}.manual-grade{display:flex;gap:8px;margin:12px 0}.manual-grade label{flex:1;min-width:0}.manual-grade input{width:100%;min-height:44px}.manual-grade .button{white-space:nowrap}.auth-shell .app-header{border:0}.auth-main h1{font-size:25px;line-height:1.3;font-weight:650;letter-spacing:-.6px;margin:0 0 9px}.auth-main>p{font-size:14px;color:var(--muted);margin:0 0 20px}.secret-field{display:block;font-size:12px;color:#636368;padding:12px 15px;background:var(--fill);border-radius:12px;margin-bottom:20px}.secret-field input{display:block;width:100%;padding:6px 0 0;background:none;border:0;border-radius:0;font-size:16px;outline-offset:2px}.auth-main .auth-footnote{font-size:11px;line-height:1.8;color:var(--muted);margin-top:17px}.auth-retry{font-size:11px;color:var(--muted);margin-top:7px}.auth-main .draft-retained{font-size:11px;color:#8b742a;background:#fff9e8;padding:12px;border-radius:8px;line-height:1.8}.profile-options{display:grid;gap:10px;margin:23px 0}.profile-options button{display:flex;align-items:center;gap:14px;min-height:65px;background:var(--fill);border:0;border-radius:12px;padding:12px 17px}.profile-options button>span{height:34px;width:34px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--blue);font-size:20px}.profile-options strong{font-size:17px;font-weight:550;flex:1;text-align:left}.profile-options svg{color:var(--muted)}.loading-line{height:3px;overflow:hidden;background:var(--fill);margin-top:25px;border-radius:3px}.loading-line:after{content:"";display:block;width:35%;height:100%;background:var(--blue);animation:loading 1s infinite alternate}.cancel-edit{display:block;margin:7px auto;font-size:12px}.clear-filter{margin-top:-5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes loading{to{transform:translate(180%)}}@media(min-width:600px){body{background:#fafafa}.app-shell{border-inline:1px solid #f2f2f7;padding-inline:20px}.grade-button{min-height:85px}.auth-main{padding-top:145px}}@media(max-width:360px){.app-shell{padding-inline:15px}.gym-select{font-size:13px}.grade-heading h1{font-size:18px}.grade-heading .text-button{font-size:11px}.grade-button{min-height:76px}.auth-main{padding-top:110px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}:root{--blue:#8659d6;--muted:#9295a2;--line:#e2e2e4;--fill:#f0edf5;color:#11182c;background:#faf9f5}.app-shell{max-width:430px;background:#faf9f5;padding:0 28px 92px}.app-header{height:65px;border:0;align-items:flex-start;padding-top:16px}.brand strong{font-size:20px;line-height:1.15;letter-spacing:-.7px;font-weight:750}.brand>span{font-size:12px;line-height:1.2;letter-spacing:-.3px}.profile-name{padding:0;min-height:32px;font-size:12px;color:#9295a2}.rock-theme main{min-height:calc(100svh - 157px)}.climb-home{display:flex;flex-direction:column;min-height:calc(100svh - 157px)}.home-gym{border:0;background:none;display:flex;align-items:flex-end;gap:15px;padding:15px 0 11px;text-align:left;width:100%;min-height:70px}.home-gym>span{display:flex;flex:1;flex-direction:column;gap:7px;min-width:0}.home-gym small{font-size:13px;color:var(--muted)}.home-gym strong{font-size:17px;line-height:1.3;font-weight:500;letter-spacing:-.5px}.home-gym svg{margin-bottom:1px;stroke-width:2}.hold-carousel{position:relative;flex:1;min-height:315px;display:flex;flex-direction:column;justify-content:center;margin:20px -28px 0}.holds-track{display:flex;align-items:center;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:20px calc((100% - var(--slot))/2);height:320px;overscroll-behavior-x:contain;touch-action:pan-x;isolation:isolate}.holds-track::-webkit-scrollbar{display:none}.holds-track.locked{pointer-events:none;overflow-x:hidden}.hold-slide{flex:0 0 var(--slot);width:var(--slot);height:280px;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;scroll-snap-stop:always}.hold-target{position:relative;flex:0 0 290px;width:290px;height:300px;padding:0;border:0;background:transparent;transform:translateY(calc(var(--abs-distance)*9px)) scale(calc(1.04 - var(--abs-distance)*.2)) rotate(calc(var(--distance)*-2deg));transition:transform .35s cubic-bezier(.2,.85,.25,1.12),opacity .22s;will-change:transform}.hold-target:disabled{opacity:1}.hold-image,.hold-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}.hold-image{z-index:2}.hold-backdrop{z-index:1;opacity:0;transform:translate(-4px,11px) rotate(-10deg) scale(.99);filter:brightness(0) saturate(100%) invert(78%) sepia(28%) saturate(580%) hue-rotate(208deg) brightness(111%) contrast(90%);transition:opacity .3s}.hold-target.selected .hold-backdrop{opacity:.76}.hold-grade{position:absolute;z-index:3;inset:0;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,Arial,sans-serif;font-size:92px;font-weight:750;letter-spacing:-5px;line-height:1;color:#fff;text-shadow:0 1px 1px #00000005;padding-top:3px;pointer-events:none}.hold-yellow .hold-grade,.hold-green .hold-grade{color:#222c32}.hold-grade.long-grade{font-size:38px;letter-spacing:-1px;padding-inline:45px;overflow-wrap:anywhere;word-break:break-word}.swipe-hint{font-size:13px;color:var(--muted);text-align:center;margin:0;line-height:1.5;min-height:20px}.home-confirm{display:flex;justify-content:center;padding:31px 0 29px}.confirm-button{width:210px;min-height:49px;padding:10px 24px;border:0;border-radius:999px;background:#bea6f3;color:#15182a;font-size:17px;font-weight:600;transition:transform .18s,background .2s;touch-action:manipulation}.confirm-button:active{background:#b398ed}.confirm-button:disabled{opacity:.6}.bottom-nav{max-width:430px;background:#faf9f5f2;border:0;backdrop-filter:blur(8px);padding:12px 28px calc(14px + env(safe-area-inset-bottom));height:84px}.bottom-nav button{width:100px;gap:2px;font-size:12px;color:#9295a2;min-height:49px}.bottom-nav button>span{display:flex;align-items:center;justify-content:center;position:relative}.bottom-nav button svg{stroke-width:2.2;height:25px;width:25px}.bottom-nav button.active{color:#11182c}.bottom-nav button.active>span:after{content:"";position:absolute;right:-3px;top:-3px;height:7px;width:7px;border-radius:50%;background:#8755d3}.toast{background:#242035f5;bottom:92px;color:#fff;max-width:calc(100% - 36px)}.toast>span{flex:1}.toast button{background:none;border:0;color:#dcc8ff;font-size:12px;font-weight:600;min-height:30px;margin:-4px -2px -4px 5px;padding:0 7px}.modal{background:#faf9f5}.gym-option{background:transparent}.button.primary{background:#9c76df;color:#fff}.button.secondary{background:#eee8f5;color:#7851ba}.button.danger{background:#d6626d}.field-label{display:block;font-size:12px;color:#6e7180;margin:20px 0}.field-label input{display:block;width:100%;margin-top:8px}.settings-view .page-heading{display:none}.settings-view .identity-row:first-of-type{margin-top:20px}.help-copy{margin-bottom:15px}.auth-shell .app-header{padding-top:22px}.auth-main{padding-top:145px}.auth-main .button.primary{background:#a78ae2}.secret-field{background:#eeebf2}.error-banner{font-size:11px}.mode-banner{margin:0 0 5px;font-size:9px}.rock-theme:has(.mode-banner) .climb-home{min-height:calc(100svh - 180px)}@media(min-width:600px){body{background:#f0efeb}.app-shell{border:0;padding-inline:28px}.hold-carousel{min-height:345px}.holds-track{height:340px}.hold-target{flex-basis:310px;width:310px;height:320px}.home-confirm{padding-bottom:26px}}@media(max-width:360px){.app-shell{padding-inline:24px}.hold-carousel{margin-inline:-24px;min-height:285px;margin-top:12px}.holds-track{height:290px}.hold-target{flex-basis:270px;width:270px;height:280px}.hold-grade{font-size:84px}.home-gym strong{font-size:15px}.confirm-button{width:200px}.home-confirm{padding-top:24px;padding-bottom:22px}}@media(max-height:740px){.hold-carousel{margin-top:5px;min-height:285px}.holds-track{height:290px}.home-confirm{padding-top:24px;padding-bottom:20px}.hold-target{flex-basis:280px;width:280px;height:290px}.hold-grade{font-size:88px}}@media(prefers-reduced-motion:reduce){.holds-track{scroll-behavior:auto}.hold-target{transition:none;will-change:auto}.hold-backdrop{transition:none}}.hold-target{flex-basis:var(--hold-size);width:var(--hold-size);height:var(--hold-size)}.hold-grade{font-size:68px;letter-spacing:-3px}.hold-backdrop{transform:translate(-2px,7px) rotate(-6deg) scale(.99)}.hold-yellow .hold-grade{font-size:50px;letter-spacing:-2px;padding-top:12px}.hold-blue .hold-grade{font-size:58px;letter-spacing:-2px}.hold-pink .hold-grade{font-size:60px;padding-top:30px;padding-right:18px}.hold-target .hold-grade.long-grade{font-size:23px;letter-spacing:-.6px;padding:0 22px;line-height:1.08}.hold-yellow .hold-grade.long-grade{font-size:20px;padding-top:10px}@media(max-width:360px){.hold-grade{font-size:60px}.hold-yellow .hold-grade{font-size:44px}.hold-blue .hold-grade{font-size:50px}.hold-pink .hold-grade{font-size:52px}.hold-target .hold-grade.long-grade{font-size:20px}}.hold-blue .hold-grade{padding-left:28px;font-size:50px}.hold-blue .hold-grade.multi-grade{font-size:36px;letter-spacing:-1.5px}.hold-blue .hold-grade.long-grade{font-size:17px;padding:0 64px 0 83px;color:#11182c;text-shadow:0 1px 2px #ffffffc9}.shape-trifacet .hold-grade{padding-top:16px}.shape-flake .hold-grade{font-size:58px;padding-top:26px}.shape-rail .hold-grade{font-size:34px;letter-spacing:-1px;padding-top:4px}.shape-wave .hold-grade{font-size:52px;padding-top:8px}.shape-double-pocket .hold-grade{font-size:56px;padding-top:68px}.shape-ball .hold-grade{color:#163c39;font-size:58px}.shape-horn .hold-grade{font-size:48px;padding-top:50px;padding-right:36px}.shape-ribs .hold-grade{font-size:56px}.shape-block .hold-grade{color:#263813;font-size:56px}.hold-target.shape-text .hold-grade{font-size:36px;letter-spacing:-1px;color:#685c79;padding:0 20px}.hold-target .hold-grade.long-grade{font-size:23px;letter-spacing:-.6px;padding:0 22px;line-height:1.08;color:#211d2c;text-shadow:0 1px 2px #ffffffc9}.shape-rail .hold-grade.long-grade{font-size:18px;padding:0 18px}.shape-pinch .hold-grade.long-grade{font-size:17px;padding:0 64px 0 83px}.hold-lavender .hold-grade{color:#2d2445}.hold-amber .hold-grade{color:#3c2d12}.hold-cyan .hold-grade{color:#173b43}.confirm-button[data-swipe-flash=true]{touch-action:none}.home-confirm-tools{display:flex;align-items:center;justify-content:center;gap:8px}.home-confirm-tools .home-post-entry,.home-flash-entry{border:0;background:none;color:#a39aaa;font-size:11px;min-height:36px;padding:0 10px;white-space:nowrap}.home-flash-entry{color:#8a6aaf}.home-confirm-tools>button+button{position:relative}.home-confirm-tools>button+button:before{content:"";position:absolute;left:-4px;top:12px;height:12px;width:1px;background:#ded8e6}
