.leaderboard-view{display:flex;flex-direction:column;padding:0 0 24px;min-width:0;color:var(--ink,#254b3b)}
.lb-wrap{display:flex;flex-direction:column;flex:1 0 auto;min-height:100%;width:100%;max-width:900px;margin:0 auto;min-width:0}
.lb-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:31px 0 25px}
.lb-intro>div:first-child{min-width:0}
.lb-intro .eyebrow{margin:0 0 10px;font-size:9px;letter-spacing:1.5px}
.lb-intro h1{font-size:36px;font-weight:900;letter-spacing:-1.15px;line-height:1.16;margin:0 0 10px}
.lb-subtitle{font-size:15px;line-height:1.5;color:#7d8e76;margin:0}
.lb-mascot{position:relative;isolation:isolate;flex:0 0 115px;margin:0 17px 0 10px;align-self:center}
.lb-mascot:before{content:'';position:absolute;inset:11px 3px 6px;border-radius:50%;background:#eff4e4;z-index:-1}
.lb-mascot img{display:block;width:110px;height:110px;transform:rotate(5deg)}
.lb-mascot-spark{position:absolute;width:7px;height:7px;transform:rotate(22deg);border-radius:2px;background:#d3ddb6}
.lb-mascot-spark-one{top:20px;left:-5px}.lb-mascot-spark-two{bottom:21px;right:-4px;width:5px;height:5px;background:#e6c69e}
.lb-profile{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:79px;padding:13px 18px;background:#f1f6e8;border:1.5px solid #e0e8d4;border-bottom:3px solid #dce6ce;border-radius:19px;margin-bottom:25px}
.lb-profile-copy{display:flex;align-items:center;gap:12px;min-width:0}
.lb-profile-copy>div{min-width:0}
.lb-profile-dot{display:block;flex-shrink:0;width:12px;height:12px;border:3px solid #fffef8;border-radius:50%;background:#8bb178;box-shadow:0 0 0 1px #d5e3c8}
.lb-profile-label{display:block;font-size:9px;font-weight:800;color:#7d9271;margin-bottom:4px}
.lb-profile-name{display:block;font-size:16px;line-height:1.3;font-weight:900;overflow-wrap:anywhere}
.lb-name-button{min-height:44px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d8e3cb;border-bottom:3px solid #d0ddbf;border-radius:12px;padding:8px 12px;background:#fffef7;color:#6b865b;font-size:10px;font-weight:900;flex-shrink:0}
.lb-name-button:hover{background:#fff}.lb-name-button:active{transform:translateY(1px);border-bottom-width:2px}
.lb-name-button svg{width:13px;height:13px}
.lb-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 15px}
.lb-select-field{min-width:0;width:290px;max-width:100%}
.lb-select-field label{display:block;font-weight:900;color:#849577;letter-spacing:1px;text-transform:uppercase;font-size:9px;margin:0 0 7px 2px}
.lb-select-wrap{position:relative;min-width:0}
.lb-select-wrap select{appearance:none;-webkit-appearance:none;display:block;width:100%;min-height:49px;padding:10px 43px 10px 15px;font:inherit;font-size:13px;font-weight:900;line-height:1.4;background:#fffef8;color:#446b3d;border:1.5px solid #dce5d0;border-bottom:3px solid #d3dfc6;border-radius:14px;cursor:pointer;white-space:normal}
.lb-select-wrap select:hover{border-color:#c3d5b1}.lb-select-wrap select:focus-visible{outline:3px solid #d5a23d;outline-offset:4px}
.lb-select-wrap>svg{position:absolute;pointer-events:none;top:15px;right:15px;width:17px;height:17px;fill:none;stroke:#7a946b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lb-invited{display:flex;align-items:center;justify-content:flex-end;gap:7px;font-size:9px;font-weight:800;line-height:1.4;color:#98a28b;padding-bottom:16px;text-align:right}
.lb-invited>span:first-child{width:6px;height:6px;border:1px solid #b5c7a6;border-radius:50%;background:#dbe7cb;flex-shrink:0}
.lb-board{min-width:0;background:#fffef9;border:1.5px solid #dfe6d6;border-bottom:4px solid #d7e2ca;border-radius:23px;overflow:hidden;box-shadow:0 3px 0 #254b3b02}
.lb-board-heading{display:flex;justify-content:space-between;gap:14px;padding:22px 23px 19px;border-bottom:1px dashed #e2e9d8}
.lb-board-heading>div{min-width:0}
.lb-board h2{font-size:21px;font-weight:900;letter-spacing:-.4px;line-height:1.25;margin:0 0 7px}
.lb-description{font-size:11px;line-height:1.65;color:#8a997c;margin:0;max-width:650px}
.lb-refresh{display:grid;place-items:center;align-self:flex-start;min-width:44px;min-height:44px;border:1px solid #e0e7d6;border-bottom:3px solid #d8e2ca;border-radius:13px;background:#f6f9ef;color:#90a37b}
.lb-refresh:hover{background:#eff5e5;color:#5e8050}.lb-refresh:active{transform:translateY(1px);border-bottom-width:2px}.lb-refresh svg{width:17px;height:17px;stroke-width:1.7}
.lb-board-body{min-height:238px;padding:12px 15px 15px}
.lb-column-labels,.lb-row{display:grid;grid-template-columns:42px minmax(0,1fr) minmax(70px,100px);align-items:center;column-gap:14px}
.lb-column-labels{font-size:8px;line-height:1.5;font-weight:900;text-transform:uppercase;letter-spacing:1px;color:#9ba78e;padding:4px 15px 12px}
.lb-column-labels>span:first-child{text-align:center}.lb-column-labels>span:last-child{text-align:right}
.lb-rows{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px}
.lb-row{position:relative;min-height:79px;padding:13px 15px;background:#fafbf5;border:1px solid #edf0e5;border-bottom:3px solid #e7ecdc;border-radius:15px;min-width:0}
.lb-row-you{background:#eff6e5;border-color:#c7dcb8;border-bottom-color:#bad0a8}
.lb-rank{position:relative;display:grid;place-items:center;width:36px;height:36px;border:1px solid #e2e8d7;border-bottom:3px solid #dbe3ce;border-radius:11px;font-size:14px;font-weight:900;line-height:1;color:#8b9f79;background:#f3f6eb;font-variant-numeric:tabular-nums}
.lb-place-1 .lb-rank{background:#fff4d6;border-color:#ead8a7;border-bottom-color:#dec994;color:#a8853f}
.lb-place-2 .lb-rank{background:#eef1ed;border-color:#dce2d7;border-bottom-color:#cbd4c7;color:#8b9b86}
.lb-place-3 .lb-rank{background:#fbefdf;border-color:#ead9bf;border-bottom-color:#dec9ab;color:#b18e61}
.lb-row-you .lb-rank{box-shadow:0 0 0 3px #fbfdf7}
.lb-crown{position:absolute;top:-8px;left:7px;width:20px;height:16px;fill:#efd17c;stroke:#c5a355;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;transform:rotate(-9deg)}
.lb-player{min-width:0}
.lb-player-heading{display:flex;align-items:center;gap:7px;min-width:0}
.lb-player-name{font-size:14px;font-weight:900;line-height:1.35;overflow-wrap:anywhere;min-width:0}
.lb-you{font-size:7px;letter-spacing:.3px;font-weight:900;line-height:1.2;padding:4px 6px;background:#dcebcf;border-radius:5px;color:#74945f;flex-shrink:0}
.lb-player-meta{display:block;font-size:9px;line-height:1.6;color:#96a187;margin-top:5px;overflow-wrap:anywhere}
.lb-row-you .lb-player-meta{color:#88a073}
.lb-metric{text-align:right;min-width:0;font-variant-numeric:tabular-nums}
.lb-metric strong{display:block;font-size:24px;line-height:1.1;font-weight:900;letter-spacing:-.6px;color:#638451;overflow-wrap:anywhere}
.lb-metric>span{display:block;font-size:8px;line-height:1.4;font-weight:800;color:#a0ab94;margin-top:5px}
.lb-message{text-align:center;padding:26px 16px 33px;max-width:420px;margin:0 auto}
.lb-message>img{display:block;margin:0 auto 13px;width:72px;height:72px}
.lb-message h3{font-size:21px;line-height:1.3;font-weight:900;letter-spacing:-.4px;margin:0 0 9px}
.lb-message p{font-size:12px;line-height:1.7;color:#91a080;margin:0}
.lb-message .button{margin-top:19px;min-height:44px;font-size:12px;padding:10px 19px}
.lb-message-mark{display:grid;place-items:center;width:43px;height:43px;margin:0 auto 14px;border:1.5px solid #e6dcc3;border-bottom:3px solid #dfd1b5;border-radius:15px;background:#fff6e5;font-size:22px;font-weight:900;color:#b69c70;transform:rotate(-5deg)}
.lb-loading{padding:17px 0 4px}.lb-loading>p{font-size:11px;text-align:center;color:#91a080;margin:0 0 21px}
.lb-skeleton{display:grid;gap:10px}.lb-skeleton>span{display:block;position:relative;height:68px;border:1px solid #edf0e4;border-radius:14px;background:#f6f8f0;overflow:hidden}
.lb-skeleton>span:before{content:'';position:absolute;left:14px;top:18px;width:30px;height:30px;border-radius:10px;background:#e9eedf}
.lb-skeleton>span:after{content:'';position:absolute;left:61px;top:22px;width:36%;height:9px;border-radius:6px;background:#e9eedf;box-shadow:0 16px 0 #edf1e6}
.lb-refreshing{font-size:9px;text-align:center;color:#91a080;margin:0 0 10px}
.lb-sync{display:flex;align-items:center;justify-content:center;gap:7px;margin:15px 0 0;min-height:25px;color:#92a181}
.lb-sync p{font-size:10px;line-height:1.6;margin:0;min-width:0}
.lb-sync-indicator{display:block;width:6px;height:6px;flex-shrink:0;background:#b9cca6;border-radius:50%}
.lb-sync[data-state=saving] .lb-sync-indicator{background:#d8bd82;animation:lb-soft-pulse 1.1s ease-in-out infinite}
.lb-sync[data-state=error],.lb-sync[data-state=partial]{flex-wrap:wrap;color:#ab9171}
.lb-sync[data-state=error] .lb-sync-indicator,.lb-sync[data-state=partial] .lb-sync-indicator{background:#d5b383}
.lb-sync button{min-height:44px;background:transparent;color:#7f945f;font-size:10px;font-weight:900;padding:7px 5px;text-decoration:underline;text-underline-offset:3px}
.lb-privacy{max-width:560px;margin:10px auto 0;text-align:center;font-size:9px;line-height:1.8;color:#a1ac94}
.lb-name-dialog{padding-top:27px;text-align:center;max-width:450px}
.lb-name-flower{display:block;width:88px;height:88px;margin:0 auto 10px;transform:rotate(3deg)}
.lb-name-dialog .eyebrow{font-size:8px;line-height:1.5;letter-spacing:1px;margin:0 0 9px}
.lb-name-dialog h2{font-size:28px;line-height:1.2;max-width:330px;margin:0 auto 12px}
.lb-name-dialog>p:not(.eyebrow){font-size:12px;line-height:1.7;color:#8b9b7c;margin:0 0 22px}
.lb-name-dialog form{text-align:left}
.lb-name-dialog form>label{display:block;font-size:10px;font-weight:900;color:#718965;margin:0 0 8px 1px}
.lb-name-dialog input{display:block;width:100%;min-height:51px;padding:11px 14px;font-size:16px;font-weight:800;color:#416339;border:2px solid #dbe4cf;border-radius:14px;background:#f8faf2;line-height:1.4;scroll-margin:20px}
.lb-name-dialog input::placeholder{font-weight:600;color:#abb59f}
.lb-name-dialog input:focus{border-color:#91b47b;outline:none;box-shadow:0 0 0 3px #8eaf7326}
.lb-name-dialog input[aria-invalid=true]{border-color:#d7a084}
.lb-name-dialog .lb-name-hint{font-size:9px;line-height:1.6;margin:7px 2px 16px;color:#9aa88c}
.lb-name-dialog .lb-name-error{font-size:10px;line-height:1.6;color:#9d4838;margin:8px 2px 0;font-weight:800}
.lb-name-save{width:100%;min-height:49px;font-size:13px}
@keyframes lb-soft-pulse{50%{opacity:.4}}
@media(max-width:760px){
  .leaderboard-view{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:0 18px calc(24px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
  .lb-intro{padding:23px 2px 20px;gap:9px}.lb-intro .eyebrow{font-size:8px;line-height:1.5;letter-spacing:1px;margin-bottom:8px}
  .lb-intro h1{font-size:28px;letter-spacing:-.8px;line-height:1.15;margin-bottom:8px;max-width:260px}.lb-subtitle{font-size:11px;line-height:1.6}
  .lb-mascot{flex-basis:75px;margin:2px 3px 0 0}.lb-mascot img{width:75px;height:75px}.lb-mascot:before{inset:8px 2px 4px}.lb-mascot-spark-one{top:11px;left:-3px;width:5px;height:5px}.lb-mascot-spark-two{right:0;bottom:12px;width:4px;height:4px}
  .lb-profile{min-height:73px;border-radius:16px;margin-bottom:20px;padding:12px;gap:10px}.lb-profile-copy{gap:9px}.lb-profile-label{font-size:8px}.lb-profile-name{font-size:14px}.lb-profile-dot{width:10px;height:10px;border-width:2px}
  .lb-name-button{font-size:9px;padding:7px 10px;border-radius:11px;gap:6px;max-width:123px;line-height:1.3}.lb-name-button svg{width:12px;height:12px}
  .lb-toolbar{gap:12px;margin-bottom:13px}.lb-select-field{width:250px;flex:1;min-width:0}.lb-select-field label{font-size:8px}.lb-select-wrap select{font-size:11px;min-height:48px;padding:11px 35px 11px 12px;border-radius:13px}.lb-select-wrap>svg{right:11px;width:15px;height:15px;top:16px}
  .lb-invited{max-width:91px;font-size:8px;gap:5px;padding-bottom:13px;line-height:1.4}.lb-invited>span:first-child{width:5px;height:5px}
  .lb-board{border-radius:20px}.lb-board-heading{padding:17px 15px 16px;gap:10px}.lb-board h2{font-size:19px;margin-bottom:7px}.lb-description{font-size:10px;line-height:1.65}.lb-refresh{min-width:44px;min-height:44px;border-radius:12px}.lb-refresh svg{width:16px;height:16px}
  .lb-board-body{padding:10px 9px 11px;min-height:220px}.lb-column-labels,.lb-row{grid-template-columns:29px minmax(0,1fr) 63px;column-gap:9px}.lb-column-labels{padding:3px 10px 10px;font-size:7px;letter-spacing:.6px}.lb-column-labels>span:last-child{line-height:1.5}
  .lb-row{min-height:76px;padding:12px 10px;border-radius:13px}.lb-rows{gap:6px}.lb-rank{width:28px;height:30px;font-size:12px;border-radius:9px;border-bottom-width:2px}.lb-crown{width:17px;height:14px;left:5px;top:-8px}
  .lb-player-heading{gap:5px;align-items:flex-start}.lb-player-name{font-size:12px;line-height:1.4}.lb-you{font-size:6px;padding:3px 4px;margin-top:2px}.lb-player-meta{font-size:8px;line-height:1.65;margin-top:4px}.lb-metric strong{font-size:23px;letter-spacing:-.5px}.lb-metric>span{font-size:7px;margin-top:4px}
  .lb-message{padding:23px 11px 27px}.lb-message>img{width:65px;height:65px}.lb-message h3{font-size:20px}.lb-message p{font-size:11px}.lb-loading>p{font-size:10px;padding:0 10px}.lb-skeleton>span{height:65px}.lb-skeleton>span:after{width:43%}
  .lb-sync{margin-top:12px;align-items:flex-start;gap:6px}.lb-sync p{font-size:9px;line-height:1.7}.lb-sync-indicator{margin-top:5px;width:5px;height:5px}.lb-sync[data-state=error] p,.lb-sync[data-state=partial] p{flex:1}.lb-sync[data-state=error] button,.lb-sync[data-state=partial] button{margin-top:-8px}.lb-privacy{font-size:8px;line-height:1.8;margin-top:9px;max-width:320px}
  .lb-name-dialog{width:min(450px,calc(100vw - 26px));padding:27px 24px 24px;max-height:calc(var(--app-height,100dvh) - 26px);overflow-y:auto;overscroll-behavior:contain}
  .lb-name-flower{width:77px;height:77px;margin-bottom:11px}.lb-name-dialog h2{font-size:26px}.lb-name-dialog>p:not(.eyebrow){font-size:11px;margin-bottom:20px}.lb-name-dialog .lb-name-hint{font-size:9px;margin-bottom:16px}.lb-name-dialog input{min-height:50px;font-size:16px}.lb-name-save{font-size:12px}
}
@media(max-width:390px){
  .leaderboard-view{padding-left:14px;padding-right:14px}.lb-intro h1{font-size:25px}.lb-mascot{flex-basis:65px;margin-right:1px}.lb-mascot img{width:65px;height:65px}.lb-subtitle{font-size:10px}
  .lb-column-labels,.lb-row{grid-template-columns:27px minmax(0,1fr) 58px;column-gap:8px}.lb-row{padding-left:9px;padding-right:9px}.lb-player-name{font-size:11px}.lb-player-meta{font-size:7px}.lb-metric strong{font-size:22px}.lb-name-button{max-width:112px}
}
@media(max-width:760px) and (max-height:600px){.lb-intro{padding-top:17px}.lb-name-flower{width:53px;height:53px;margin-bottom:6px}.lb-name-dialog{padding-top:21px;padding-bottom:20px}.lb-name-dialog h2{font-size:23px;margin-bottom:8px}.lb-name-dialog .eyebrow{font-size:7px;margin-bottom:6px}.lb-name-dialog>p:not(.eyebrow){font-size:10px;line-height:1.6;margin-bottom:14px}.lb-name-dialog .lb-name-hint{margin-bottom:12px;font-size:8px}.lb-name-save{min-height:46px}}
@media(prefers-reduced-motion:reduce){.lb-sync-indicator{animation:none!important}.lb-name-button,.lb-refresh{transition:none!important}}

/* Social tools keep the ranking selector on its own full-width row. */
.lb-social-tools{display:flex;align-items:center;justify-content:space-between;gap:14px}
.lb-scope{display:flex;align-items:stretch;gap:4px;padding:4px;border:1.5px solid #e0e7d4;border-radius:16px;background:#f0f4e8;min-width:0}
.lb-scope button{min-height:44px;min-width:120px;padding:10px 22px;border-radius:11px;background:transparent;color:#839477;font-size:13px;font-weight:900;line-height:1.4}
.lb-scope button[aria-pressed=true]{color:#446d3f;background:#fffef8;box-shadow:0 2px 0 #d7e2c9}
.lb-scope button:hover{color:#446d3f;background:#fafcf5}
.lb-search-button{display:grid;place-items:center;min-width:52px;min-height:52px;border:1.5px solid #dce5d0;border-bottom:3px solid #d3dfc6;border-radius:15px;background:#fffef8;color:#718e60}
.lb-search-button:hover{background:#eff5e5;color:#4f7744}.lb-search-button svg{width:21px;height:21px}
.lb-scope-hint{font-size:10px;line-height:1.6;color:#8a9b7b;margin:8px 2px 21px}
.lb-toolbar .lb-select-field{width:100%;max-width:none;flex:1}
.lb-row-item{min-width:0}.lb-row{width:100%;text-align:left;color:inherit;font:inherit}
.lb-row:hover{background:#f2f6e9;border-color:#d4e0c5}.lb-row-you:hover{background:#e8f1dc;border-color:#bed4ac}
.lb-row:focus-visible{outline-offset:-4px;z-index:1}
.lb-following{display:inline-block;font-size:7px;line-height:1.3;font-weight:900;color:#7f976e;flex-shrink:0}
.lb-player-heading{flex-wrap:wrap;row-gap:3px}

/* Native dialogs provide keyboard trapping and focus restoration. */
.lb-search-dialog,.lb-player-dialog{padding:38px 30px 28px;max-width:460px}
.lb-search-dialog h2{font-size:27px;line-height:1.2;letter-spacing:-.6px;font-weight:900;max-width:320px;margin:5px 30px 23px 0}
.lb-search-dialog>label{display:block;font-size:10px;font-weight:900;color:#718965;margin:0 0 8px 1px}
.lb-search-field{display:flex;align-items:center;border:2px solid #dbe4cf;border-radius:14px;background:#f8faf2;min-height:52px}
.lb-search-field:focus-within{border-color:#91b47b;box-shadow:0 0 0 3px #8eaf7326}
.lb-search-field>svg{width:19px;height:19px;margin-left:13px;flex-shrink:0;fill:none;stroke:#8da07d;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lb-search-field input{display:block;width:100%;min-width:0;min-height:50px;padding:11px 12px;font-size:16px;font-weight:800;color:#416339;line-height:1.4;background:transparent;border:0;outline:none;border-radius:12px}
.lb-search-field input::placeholder{font-weight:600;color:#a5b096}.lb-search-field input:focus-visible{outline:none}
.lb-dialog-hint{font-size:10px;line-height:1.7;margin:9px 2px 0;color:#8c9e7b}
.lb-search-results{min-height:110px;max-height:350px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;margin-top:17px}
.lb-search-message{font-size:12px;line-height:1.7;color:#8a9b7a;text-align:center;margin:0;padding:24px 10px}
.lb-search-list{display:flex;flex-direction:column;gap:7px;list-style:none;padding:0;margin:0}
.lb-search-result{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;width:100%;min-height:63px;padding:12px 14px;border:1px solid #e4eadb;border-bottom:3px solid #dfe7d4;border-radius:14px;background:#f7f9f1;color:#496d3d}
.lb-search-result:hover{background:#edf4e3;border-color:#d2dfc3}.lb-search-result>span:first-child{min-width:0}.lb-search-result strong{display:block;overflow-wrap:anywhere;font-size:14px;line-height:1.4;font-weight:900}.lb-search-result small{display:block;margin-top:4px;font-size:9px;color:#92a282;line-height:1.5}
.lb-search-result-end{display:flex;align-items:center;gap:12px;flex-shrink:0}.lb-result-arrow{font-size:24px;font-weight:700;line-height:1;color:#9caf8b}.lb-search-more{margin:13px 2px 0}
.lb-dialog-retry{display:block;min-height:44px;margin:0 auto 12px;font-size:12px;padding:10px 17px}
.lb-player-dialog{text-align:center;padding-top:35px}
.lb-player-flower{display:block;width:78px;height:78px;margin:0 auto 11px;transform:rotate(3deg)}
.lb-player-dialog h2{font-size:28px;line-height:1.25;font-weight:900;letter-spacing:-.5px;margin:0 0 14px;overflow-wrap:anywhere}
.lb-player-message{font-size:12px;line-height:1.7;color:#8a9b7a;margin:8px 0 0;padding:20px 0 23px}
.lb-player-message strong{display:block;color:#6c855c;font-weight:900;margin-bottom:6px}.lb-profile-you{font-size:8px;padding:5px 8px;display:inline-block;margin:0 0 14px}
.lb-player-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:2px 0 15px}
.lb-player-stats>div{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:98px;padding:12px 9px;border:1px solid #e3ead7;border-bottom:3px solid #dae5cc;border-radius:16px;background:#f3f7eb}
.lb-player-stats dt{font-size:9px;font-weight:800;line-height:1.6;color:#8d9f7b}.lb-player-stats dd{font-size:28px;font-weight:900;line-height:1.2;letter-spacing:-.6px;margin:7px 0 0;color:#5e834d;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.lb-player-stats dd>span{display:block;font-size:8px;line-height:1.4;letter-spacing:0;color:#9cab8b;margin-top:3px}
.lb-player-today,.lb-self-message{font-size:11px;line-height:1.7;margin:0;color:#8b9e7b}.lb-self-message{margin-top:18px}.lb-follow-button{display:block;width:100%;min-height:49px;margin-top:21px;font-size:13px}
.lb-private-message{padding:19px 18px 20px;margin:4px 0 0;border:1px solid #e5e9db;border-radius:16px;background:#f7f9f1}.lb-private-message strong{font-size:13px;font-weight:900;color:#71885f}.lb-private-message p{font-size:11px;line-height:1.8;color:#8d9c80;margin:8px 0 0}.lb-follow-error{font-size:11px;line-height:1.7;font-weight:800;margin:12px 2px 0}.lb-inline-error{color:#9d4838!important}

/* Account identity is kept on this private page and out of the public player UI. */
.account-view{padding:0 0 40px;min-width:0;color:var(--ink,#254b3b)}
.lb-account-wrap{width:100%;max-width:680px;margin:0 auto;min-width:0}
.lb-account-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:31px 2px 25px}.lb-account-intro>div{min-width:0}.lb-account-intro h1{font-size:36px;line-height:1.18;font-weight:900;letter-spacing:-1.1px;margin:0 0 10px}.lb-account-intro p{font-size:14px;line-height:1.6;color:#85977a;margin:0}.lb-account-intro img{display:block;width:90px;height:90px;flex-shrink:0;transform:rotate(4deg)}
.lb-account-card{padding:27px 28px 28px;background:#fffef9;border:1.5px solid #dfe6d6;border-bottom:4px solid #d7e2ca;border-radius:23px}
.lb-account-field{min-width:0;margin:0 0 25px}.lb-account-field>label{display:block;font-size:11px;font-weight:900;color:#718965;margin:0 0 8px 2px;line-height:1.5}
.lb-account-field>input{display:block;width:100%;min-width:0;min-height:51px;padding:11px 14px;font-size:16px;font-weight:800;color:#416339;border:2px solid #dbe4cf;border-radius:14px;background:#f8faf2;line-height:1.4}
.lb-account-field>input:focus{border-color:#91b47b;outline:none;box-shadow:0 0 0 3px #8eaf7326}.lb-account-field>input[readonly]{background:#f2f4eb;color:#87977c;font-weight:600}.lb-account-field>input[aria-invalid=true],.lb-account-field select[aria-invalid=true]{border-color:#d7a084}
.lb-account-hint{font-size:10px;line-height:1.8;color:#96a588;margin:8px 2px 0}
.lb-account-identity{border-top:1px dashed #e1e7d7;border-bottom:1px dashed #e1e7d7;padding:23px 0 21px;margin:0 0 24px}.lb-account-identity .lb-account-field{margin-bottom:19px}.lb-account-identity .lb-account-field:last-of-type{margin-bottom:0}.lb-account-identity-hint{font-size:9px;margin-top:13px}
.lb-account-field .lb-select-wrap select{font-size:12px;min-height:53px;line-height:1.7;font-family:inherit}.lb-account-field .lb-select-wrap>svg{top:18px}
.lb-field-error{font-size:11px;line-height:1.7;font-weight:800;color:#9d4838;margin:8px 2px 0}.lb-account-form-error{margin:0 2px 14px}.lb-account-saved{font-size:11px;line-height:1.7;color:#628b50;font-weight:800;margin:0 2px 14px}.lb-account-save{display:block;width:100%;min-height:51px;font-size:13px}.lb-account-loading{text-align:center;min-height:180px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:17px}.lb-account-loading p{font-size:12px;line-height:1.7;margin:0;color:#8a9b7a}.lb-account-loading .button{min-height:44px;font-size:12px;padding:10px 18px}
@media(max-width:760px){
  .lb-social-tools{gap:11px}.lb-scope{padding:3px;border-radius:14px;gap:3px}.lb-scope button{min-width:100px;padding:9px 17px;font-size:11px;border-radius:10px}.lb-search-button{min-width:50px;min-height:50px;border-radius:14px}.lb-search-button svg{width:20px;height:20px}.lb-scope-hint{font-size:9px;margin:7px 2px 18px}
  .lb-toolbar .lb-select-field{width:100%;flex:1}.lb-following{font-size:6px;margin-top:2px}
  .lb-search-dialog,.lb-player-dialog{width:min(460px,calc(100vw - 26px));max-height:calc(var(--app-height,100dvh) - 26px);overflow-y:auto;overscroll-behavior:contain;padding:34px 23px 24px}
  .lb-search-dialog h2{font-size:25px;max-width:260px;margin:9px 24px 23px 0}.lb-search-dialog>label{font-size:10px}.lb-dialog-hint{font-size:9px;line-height:1.8}.lb-search-results{max-height:min(350px,calc(var(--app-height,100dvh) - 300px));min-height:90px;margin-top:15px}.lb-search-message{font-size:11px;padding:22px 7px}.lb-search-result{min-height:62px;padding:11px 12px}.lb-search-result strong{font-size:13px}.lb-search-result small{font-size:8px}.lb-search-result-end{gap:10px}.lb-dialog-retry{font-size:11px}
  .lb-player-dialog{padding-top:31px}.lb-player-flower{width:71px;height:71px;margin-bottom:10px}.lb-player-dialog h2{font-size:26px;margin-bottom:13px}.lb-player-stats{gap:9px;margin-bottom:14px}.lb-player-stats>div{min-height:94px;padding:11px 7px;border-radius:14px}.lb-player-stats dt{font-size:9px}.lb-player-stats dd{font-size:26px}.lb-player-today,.lb-self-message{font-size:10px}.lb-follow-button{font-size:12px;margin-top:19px}.lb-private-message{padding:17px 14px}.lb-private-message p{font-size:10px}.lb-private-message strong{font-size:12px}
  .account-view{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:0 18px calc(28px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
  .lb-account-intro{padding:23px 2px 21px;gap:12px}.lb-account-intro h1{font-size:28px;letter-spacing:-.8px;margin-bottom:8px}.lb-account-intro p{font-size:11px;line-height:1.7}.lb-account-intro img{width:69px;height:69px}
  .lb-account-card{padding:22px 20px 23px;border-radius:20px}.lb-account-field{margin-bottom:22px}.lb-account-field>label{font-size:10px;margin-bottom:8px}.lb-account-field>input{min-height:50px;font-size:16px;padding:11px 12px}.lb-account-hint{font-size:9px;line-height:1.8}.lb-account-identity{padding:21px 0 19px;margin-bottom:22px}.lb-account-identity-hint{font-size:8px}.lb-account-field .lb-select-wrap select{font-size:11px;min-height:52px;padding-right:34px}.lb-account-field .lb-select-wrap>svg{top:18px}.lb-field-error,.lb-account-saved{font-size:10px}.lb-account-save{font-size:12px;min-height:50px}
}
@media(max-width:390px){.account-view{padding-left:14px;padding-right:14px}.lb-scope button{min-width:91px;padding-left:14px;padding-right:14px}.lb-account-intro h1{font-size:25px}.lb-account-intro img{width:60px;height:60px}.lb-account-card{padding-left:17px;padding-right:17px}.lb-search-dialog,.lb-player-dialog{padding-left:21px;padding-right:21px}}
@media(max-width:760px) and (max-height:600px){.lb-player-flower{width:49px;height:49px;margin-bottom:7px}.lb-player-dialog h2{font-size:23px;margin-bottom:11px}.lb-player-stats>div{min-height:75px;padding:9px 6px}.lb-player-stats dd{font-size:23px;margin-top:4px}.lb-player-stats dt{font-size:8px}.lb-follow-button{margin-top:16px;min-height:46px}.lb-search-results{max-height:calc(var(--app-height,100dvh) - 275px)}.lb-search-dialog h2{margin-bottom:17px;font-size:23px}}
@media(prefers-reduced-motion:reduce){.lb-row,.lb-scope button,.lb-search-button,.lb-search-result{transition:none!important}}
.lb-account-label{display:block;font-size:11px;font-weight:900;color:#718965;margin:0 0 8px 2px;line-height:1.5}
.lb-account-field>.lb-privacy-option{display:flex;align-items:flex-start;gap:11px;padding:15px 14px;border:1.5px solid #dbe4cf;border-bottom:3px solid #d3dfc6;border-radius:14px;background:#f6f9ef;font-size:12px;line-height:1.7;font-weight:800;color:#5f7f50;cursor:pointer;margin:0}
.lb-privacy-option>input{flex-shrink:0;width:19px;height:19px;accent-color:#5c914e;margin:1px 0 0;cursor:pointer}.lb-privacy-option>span{min-width:0}.lb-privacy-option:has(input:checked){background:#edf5e3;border-color:#bdd3ac}.lb-privacy-option:has(input:disabled){opacity:.65;cursor:default}
@media(max-width:760px){.lb-account-label{font-size:10px}.lb-account-field>.lb-privacy-option{font-size:11px;padding:14px 12px;gap:10px}.lb-privacy-option>input{width:18px;height:18px}}

/* Scope tabs sit in the introduction; ranking controls stay beside their results. */
.lb-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:24px;row-gap:0;padding-bottom:25px}
.lb-intro-controls{justify-self:end;min-width:0;padding-top:8px}
.lb-intro-controls .lb-scope{width:max-content;max-width:100%}
.lb-intro-controls .lb-scope button{min-width:110px;padding:10px 18px}
.lb-intro>.lb-scope-hint{grid-column:2;justify-self:end;max-width:270px;text-align:right;margin:9px 2px 0}
.lb-board-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px 14px}
.lb-board-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 13px;min-width:0;min-height:44px}
.lb-board-title-row h2{margin:0;min-width:0}
.lb-find-me{min-height:36px;padding:7px 11px;border:1px solid #dce5d0;border-bottom:3px solid #d3dfc6;border-radius:11px;background:#f6f9ef;color:#7c956a;font-size:10px;font-weight:900;line-height:1.5;white-space:nowrap}
.lb-find-me:hover{background:#edf4e3;color:#527943}
.lb-board-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.lb-board-actions .lb-refresh,.lb-board-actions .lb-search-button{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:13px;align-self:auto}
.lb-board-actions .lb-search-button svg{width:18px;height:18px}
.lb-board-heading>.lb-description,.lb-board-heading>.lb-find-message{grid-column:1/-1;max-width:none}
.lb-find-message{font-size:11px;line-height:1.7;color:#8c966c;margin:0;padding:10px 12px;border:1px solid #e5e6d2;border-radius:11px;background:#f7f8ec}
.lb-pagination{padding:0 21px 19px;min-width:0}
.lb-page-range{min-height:16px;text-align:center;font-size:10px;line-height:1.6;font-weight:800;color:#9aaa8b;margin:0 0 11px}
.lb-page-controls{display:flex;align-items:center;justify-content:center;gap:15px;min-width:0}
.lb-page-controls button{min-height:44px;padding:9px 15px;background:#f3f7eb;color:#789368;border:1px solid #e0e7d5;border-bottom:3px solid #d8e2cb;border-radius:12px;font-size:11px;font-weight:900;line-height:1.5}
.lb-page-controls button:hover:not(:disabled){background:#eaf2df;color:#4f7842}.lb-page-controls button:disabled{opacity:.45}
.lb-page-status{font-size:10px;line-height:1.5;font-weight:800;text-align:center;color:#8e9f7d;font-variant-numeric:tabular-nums}
@media(max-width:760px){
  .lb-intro{grid-template-columns:minmax(0,1fr) auto;column-gap:12px;padding-bottom:21px}
  .lb-intro-controls{padding-top:5px}.lb-intro-controls .lb-scope{padding:3px;border-radius:13px;gap:2px}.lb-intro-controls .lb-scope button{min-width:0;min-height:44px;padding:9px 10px;font-size:10px;line-height:1.4;border-radius:9px}.lb-intro>.lb-scope-hint{max-width:153px;font-size:8px;line-height:1.7;margin:8px 2px 0}
  .lb-board-heading{gap:9px 10px}.lb-board-title-row{column-gap:9px;row-gap:5px}.lb-board-title-row h2{font-size:19px;line-height:1.3}.lb-find-me{min-height:44px;font-size:9px;padding:7px 9px;border-radius:10px}.lb-board-actions{gap:6px}.lb-board-actions .lb-refresh,.lb-board-actions .lb-search-button{border-radius:12px}.lb-board-actions .lb-search-button svg{width:17px;height:17px}.lb-find-message{font-size:10px;padding:9px 10px}
  .lb-pagination{padding:1px 12px 16px}.lb-page-range{font-size:9px;margin-bottom:9px}.lb-page-controls{gap:11px}.lb-page-controls button{font-size:10px;padding:9px 12px;border-radius:11px}.lb-page-status{font-size:9px;max-width:120px}
}
@media(max-width:390px){.lb-intro{column-gap:9px}.lb-intro-controls .lb-scope button{padding-left:9px;padding-right:9px;font-size:9px}.lb-intro>.lb-scope-hint{max-width:137px}.lb-board-actions{gap:5px}.lb-board-title-row{column-gap:7px}.lb-board-title-row h2{font-size:18px}.lb-page-controls{gap:9px}.lb-page-controls button{padding-left:11px;padding-right:11px}}
@media(max-width:340px){.lb-intro{grid-template-columns:1fr;row-gap:14px}.lb-intro-controls{justify-self:start;padding-top:0}.lb-intro>.lb-scope-hint{grid-column:1;justify-self:start;text-align:left;max-width:none;margin-top:0}.lb-intro-controls .lb-scope button{padding-left:15px;padding-right:15px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.lb-find-me,.lb-page-controls button{transition:none!important}}

.lb-intro h1{margin:0}.lb-intro-controls{padding-top:0}

/* A friends leaderboard begins with an invitation, before any ranking controls. */
.lb-intro{display:block;padding-bottom:24px}
.lb-friends-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1 0 auto;width:100%;max-width:620px;margin:12px auto 0;padding:34px 28px 36px;text-align:center;border:1.5px solid #e1e8d6;border-bottom:4px solid #d8e3cc;border-radius:25px;background:#fffef9}
.lb-friends-empty>img{display:block;width:270px;height:180px;margin:0 auto 22px;object-fit:contain}
.lb-friends-empty h2{font-size:27px;line-height:1.3;letter-spacing:-.6px;font-weight:900;max-width:450px;margin:0 auto 13px}
.lb-friends-empty>p{font-size:12px;line-height:1.8;color:#8b9c7b;max-width:380px;margin:0 auto 22px}
.lb-friend-search{display:flex;align-items:center;justify-content:center;gap:9px;min-height:49px;margin:0 auto;font-size:13px;padding:12px 21px}
.lb-friend-search svg{width:18px;height:18px}
.lb-mutual{display:inline-block;font-size:8px;line-height:1.4;font-weight:900;color:#648a52;background:#e4efd8;border-radius:6px;padding:4px 7px;flex-shrink:0}
.lb-profile-mutual{font-size:9px;margin:0 0 16px;padding:5px 9px}.lb-relationship-status{font-size:10px;font-weight:800;line-height:1.6;margin:0 0 15px;color:#8a9b78}
.lb-account-identity-hint{display:flex;align-items:flex-start;gap:6px}.lb-account-identity-hint svg{flex-shrink:0;width:13px;height:13px;fill:none;stroke:#91a37f;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
@media(max-width:760px){.lb-intro{padding-bottom:20px}.lb-friends-empty{margin:8px auto 0;padding:27px 23px 29px;border-radius:22px}.lb-friends-empty>img{width:246px;height:164px;margin-bottom:20px}.lb-friends-empty h2{font-size:24px;line-height:1.35;max-width:340px;margin-bottom:12px}.lb-friends-empty>p{font-size:11px;line-height:1.8;max-width:290px;margin-bottom:21px}.lb-friend-search{min-height:48px;font-size:12px;padding:11px 19px}.lb-mutual{font-size:7px}.lb-profile-mutual{font-size:8px}.lb-relationship-status{font-size:9px}}
@media(max-width:390px){.lb-friends-empty{padding-left:19px;padding-right:19px}.lb-friends-empty>img{width:234px;height:156px}.lb-friends-empty h2{font-size:23px}}
@media(max-width:760px) and (max-height:600px){.lb-friends-empty{padding-top:21px;padding-bottom:23px}.lb-friends-empty>img{width:225px;height:150px;margin-bottom:15px}.lb-friends-empty h2{font-size:22px}}

@media(min-width:761px){
  #app:has(#leaderboard-view:not([hidden])){min-height:var(--app-height);display:flex;flex-direction:column}
  #app:has(#leaderboard-view:not([hidden])) .site-header{width:100%;flex-shrink:0;margin:0 auto}
  #main-content:has(#leaderboard-view:not([hidden])){display:flex;flex-direction:column;width:100%;flex:1;min-height:0;margin:0 auto}
  .leaderboard-view{flex:1}
  .leaderboard-view .lb-wrap{flex:1;min-height:0}
}

.lb-delete-dialog{width:min(520px,calc(100vw - 28px));padding:37px 30px 28px;max-height:calc(var(--app-height,100dvh) - 28px);overflow-y:auto}
.lb-delete-dialog h2{margin:0 32px 16px 0;font-size:25px;color:#294d36}
.lb-delete-dialog>p{font-size:13px;line-height:1.8;color:#63775a}
.lb-delete-dialog .lb-delete-error{color:#b82734;font-weight:700}
.lb-delete-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:24px}
.lb-delete-actions .button{min-height:46px;font-size:12px;padding:12px 18px}
.button.destructive{background:#bb2436;border:2px solid #bb2436;color:#fff;box-shadow:none}
.button.destructive:hover{background:#a71e30;border-color:#a71e30}
.button.destructive:disabled{opacity:.65;cursor:wait}
@media(max-width:420px){.lb-delete-dialog{padding:34px 21px 23px}.lb-delete-actions{display:grid;grid-template-columns:1fr}.lb-delete-dialog h2{font-size:22px}}
