/* Player identity and weekly routes. Reuses the arcade's artwork and type. */
.identity-card{--identity-accent:#8cb4cc;display:grid;grid-template-columns:minmax(230px,.9fr) minmax(0,1.5fr);border:1px solid #839dc43b;border-radius:22px;overflow:hidden;margin:0 0 36px;background:#111a2a;box-shadow:0 18px 48px #02050c38}
.identity-preview{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:32px 24px;background:linear-gradient(180deg,#0e182444,#0d1429ed),url('assets/moonlit-skyport.webp') center/cover;text-align:center;border-right:1px solid #8194ba29}
.identity-preview:after{content:'';position:absolute;inset:20% 8%;border-radius:50%;background:radial-gradient(ellipse,var(--identity-accent),transparent 65%);opacity:.12;z-index:-1;pointer-events:none}
.identity-preview .section-kicker{color:#cad8e9;font-size:10px;letter-spacing:2px}.identity-avatar{position:relative;display:grid;place-items:center;width:160px;height:160px;margin:22px 0 18px;border-radius:50%;border:2px solid var(--identity-accent);box-shadow:0 0 0 7px #0c142866,0 0 0 8px #c0d2f51a,0 15px 40px #0005;background:radial-gradient(ellipse at bottom,#203451,#0b1320);overflow:hidden}.identity-avatar img{width:155px;height:163px;object-fit:contain;transform:translateY(8px)}.identity-avatar span{font:700 60px RunnerDisplay,sans-serif;color:var(--identity-accent)}.identity-preview h3{font-size:28px;line-height:1.2;overflow-wrap:anywhere;letter-spacing:-.7px;margin:0 0 8px}.identity-preview p{color:var(--identity-accent);font-size:13px;letter-spacing:.5px;margin:0}.identity-character{font-size:11px;padding:8px 12px;background:#0b1328b3;border:1px solid #c1d7ff22;border-radius:30px;color:#b9c9dd;margin-top:18px}
.identity-form{display:flex;flex-direction:column;min-width:0;padding:34px;align-items:stretch}.identity-form h3{font-size:25px;letter-spacing:-.6px;margin:0 0 10px}.identity-form>p:not(.identity-status){font-size:13px;line-height:1.7;color:#a6b8cf;margin:0 0 22px}.identity-form label{font-size:12px;font-weight:650;letter-spacing:.2px;color:#d3deed}.identity-form input,.identity-form select{color:#edf5ff;background:#0a1322;border:1px solid #8eabc54a;border-radius:9px;padding:12px;min-height:48px;font:inherit;font-size:16px;width:100%;min-width:0}.identity-form input{margin-top:8px}.identity-form input::placeholder{color:#7d94b2;font-size:14px}.identity-form input[aria-invalid=true]{border-color:#ff8497}.identity-form input:focus-visible,.identity-form select:focus-visible{outline:2px solid #8cddff;outline-offset:3px}.identity-help{font-size:11px;line-height:1.65;color:#96abc5;margin:9px 0 20px}.identity-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}.identity-options label{display:flex;flex-direction:column;gap:8px}.identity-form .primary-button{margin:22px 0 0;justify-content:space-between;min-height:49px;font-size:13px;max-width:320px}.identity-status{margin:12px 0 0;min-height:32px;font-size:12px;line-height:1.6;color:#b5c9df}.run-player-name{font-size:12px!important;color:#b4c7de!important;margin:9px 0 0!important}
.weekly-routes{border-top:1px solid #7a96bc35;padding-top:34px;margin-top:34px}.weekly-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.weekly-heading h3{font-size:29px;letter-spacing:-.8px;margin:8px 0}.weekly-heading p{margin:0;color:#a3b6cd;font-size:13px;line-height:1.65}.weekly-heading .section-kicker{font-size:10px;letter-spacing:2px;color:#90b1ce}.weekly-total{border-left:1px solid #8da4cc33;padding-left:28px;flex-shrink:0}.weekly-total strong{display:block;color:#f7d78d;font-size:32px;letter-spacing:-1px;font-variant-numeric:tabular-nums}.weekly-total span{font-size:9px;letter-spacing:1.3px;color:#a9b6cb}.weekly-window{color:#94acc8;font-size:11px;font-variant-numeric:tabular-nums;line-height:1.6}.route-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0}.weekly-route-card{display:flex;flex-direction:column;min-width:0;border:1px solid #819cc43b;border-radius:17px;overflow:hidden;background:linear-gradient(150deg,#172538,#101827);transition:border-color .18s,transform .18s}.weekly-route-card:hover{border-color:var(--route-accent)}.weekly-route-art{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;height:125px;background-size:cover;background-position:center 35%;padding:16px 17px}.weekly-route-art span{font-size:10px;letter-spacing:1.4px;color:#e3ecfb;text-shadow:0 2px 5px #000}.weekly-route-art b{background:#0a142ae8;border:1px solid #b7d4f439;padding:5px 7px;border-radius:4px;font-size:8px;letter-spacing:1.2px;color:var(--route-accent);white-space:nowrap}.weekly-route-copy{display:flex;flex-direction:column;flex:1;padding:0 19px 19px}.weekly-route-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.weekly-route-top h4{font-size:21px;letter-spacing:-.5px;margin:0}.weekly-route-top strong{color:var(--route-accent);font-size:15px;white-space:nowrap;letter-spacing:1px}.weekly-route-copy>p{font-size:12px;line-height:1.65;color:#aabdD4;min-height:40px;margin:10px 0 16px}.weekly-route-copy ol{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:12px}.weekly-route-copy li{font-size:11px;line-height:1.5;display:flex;gap:8px;color:#a3b5ce}.weekly-route-copy li>span{color:#758da8}.weekly-route-copy li.earned,.weekly-route-copy li.earned>span{color:var(--route-accent)}.route-reward{margin-top:auto;padding:14px 0;border-top:1px solid #a8c4e523}.route-reward>span{display:block;font-size:9px;color:#8fa6c3;letter-spacing:1.2px;margin-bottom:6px}.route-reward strong{font-size:12px;color:var(--route-accent)}.route-reward i{font-style:normal;color:#7489a6;padding:0 3px}.weekly-route-copy .secondary-button{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:45px;font-size:11px;padding:10px 13px;color:var(--route-accent);border-color:#accbef44;background:#aecdf30a}.weekly-route-copy .secondary-button:not(:disabled):hover{background:#c5e3ff17}.weekly-route-copy>small{font-size:10px;line-height:1.5;color:#99adc9;margin-top:12px}.weekly-routes>.quiet-note,.weekly-missions>.quiet-note{font-size:11px;line-height:1.7;margin:14px 0 0;max-width:850px;color:#94a9c4}
.weekly-missions{margin:32px 0;padding-top:30px;border-top:1px solid #8ba5c633}.weekly-quest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.weekly-quest{border:1px solid #90afd633;border-radius:14px;padding:21px;background:linear-gradient(140deg,#18233a,#111a29);display:flex;flex-direction:column}.weekly-quest.complete{border-color:#93dfb566}.weekly-quest.claimed{background:#10222b;border-color:#76cebe3d}.weekly-quest-number{font-size:9px;letter-spacing:1.5px;color:#a7bdd9}.weekly-quest.claimed .weekly-quest-number{color:#94d9bd}.weekly-quest h4{font-size:19px;letter-spacing:-.3px;margin:17px 0 9px}.weekly-quest>p{font-size:12px;color:#9eb3cc;line-height:1.7;min-height:40px;margin:0 0 22px}.weekly-quest-progress{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:auto;margin-bottom:10px}.weekly-quest-progress b{font-size:19px;font-variant-numeric:tabular-nums;white-space:nowrap}.weekly-quest-progress b span{font-size:12px;color:#879fbf;font-weight:400}.weekly-quest-progress>span{font-size:10px;color:#d5beeb;text-align:right}.weekly-quest .progress-bar{height:4px}.weekly-quest .progress-bar>i{background:#bda3f7}.weekly-quest .secondary-button{font-size:12px;min-height:43px;margin-top:19px}.weekly-quest.complete .secondary-button{color:#b9f3cd;border-color:#b9f3cd66}
@media(max-width:950px){.route-card-grid{gap:12px}.weekly-route-copy{padding:0 14px 16px}.weekly-route-top{flex-direction:column;align-items:flex-start;gap:8px}.weekly-route-copy>p{min-height:60px}.identity-form{padding:27px}.weekly-quest{padding:17px}.weekly-quest-progress{flex-wrap:wrap;gap:5px}.weekly-quest-progress>span{width:100%;text-align:left}}
@media(max-width:650px){.identity-card{grid-template-columns:1fr;border-radius:16px;margin-bottom:28px}.identity-preview{padding:24px 20px;border-right:0;border-bottom:1px solid #8194ba29}.identity-avatar{width:120px;height:120px;margin:18px 0 15px}.identity-avatar img{width:120px;height:124px;transform:translateY(6px)}.identity-preview h3{font-size:25px}.identity-character{margin-top:12px}.identity-form{padding:23px 20px}.identity-form h3{font-size:22px}.identity-form .primary-button{max-width:none;width:100%}.identity-options{grid-template-columns:1fr;gap:15px}.identity-status{min-height:0}.weekly-routes{padding-top:26px;margin-top:25px}.weekly-heading{gap:15px;align-items:flex-start}.weekly-heading h3{font-size:23px;line-height:1.2}.weekly-heading p{font-size:12px}.weekly-total{padding-left:15px}.weekly-total strong{font-size:25px;white-space:nowrap}.weekly-total span{font-size:8px;max-width:80px;display:block;line-height:1.6}.weekly-heading .section-kicker{letter-spacing:1px;font-size:9px}.route-card-grid{grid-template-columns:1fr;gap:18px}.weekly-route-art{height:112px;padding:17px 20px}.weekly-route-copy{padding:0 20px 20px}.weekly-route-top{flex-direction:row;align-items:center}.weekly-route-copy>p{min-height:0;font-size:13px}.weekly-route-copy li{font-size:12px}.weekly-route-copy .secondary-button{font-size:12px;min-height:48px}.weekly-route-copy>small{font-size:11px}.weekly-route-art b{font-size:9px}.weekly-missions .weekly-heading{flex-direction:column;gap:8px}.weekly-quest-grid{grid-template-columns:1fr}.weekly-quest{padding:21px}.weekly-quest>p{min-height:0;margin-bottom:18px}.weekly-quest-progress{flex-wrap:nowrap}.weekly-quest-progress>span{width:auto;text-align:right}.weekly-quest .secondary-button{min-height:46px}.weekly-quest-number{font-size:10px}.weekly-quest h4{margin-top:13px}.weekly-quest>p{font-size:13px}.weekly-quest-progress>span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.weekly-route-card{transition:none}}

#header-rank{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.offline-card{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:25px;margin:28px 0;border:1px solid #789bbb40;border-radius:16px;background:linear-gradient(110deg,#152c38,#101a2a)}.offline-card h3{font-size:23px;letter-spacing:-.5px;margin:10px 0}.offline-card p{font-size:12px;line-height:1.7;color:#b3c6dc;margin:0 0 8px;max-width:590px}.offline-card .section-kicker{font-size:9px;letter-spacing:1.5px;color:#8ecdbf}.offline-card .quiet-note{font-size:10px;line-height:1.7;color:#92aac6;display:block;max-width:590px}.offline-card .secondary-button{flex-shrink:0;font-size:11px;min-height:47px;color:#b7e6d8;max-width:280px;line-height:1.6}@media(max-width:650px){.offline-card{align-items:stretch;flex-direction:column;gap:20px;padding:22px 20px}.offline-card .secondary-button{max-width:none;width:100%;min-height:48px}.offline-card h3{font-size:22px}}
