.passport-cover .profile-edit { grid-column:1/-1; color:#fff6d5; font-size:16px; min-height:44px; display:flex; align-items:center; justify-content:center; gap:7px; padding:4px; }
.passport-cover.passport-weekly { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; padding:12px 16px; }
.passport-weekly .level-medal,.passport-weekly .passport-cover-stats,.passport-weekly .passport-compact-identity>span,.passport-weekly .passport-compact-identity>progress { display:none; }
.passport-weekly .passport-compact-identity { flex:1; }.passport-weekly .passport-compact-identity h1 { font-size:24px; }.passport-weekly .profile-edit { font-size:16px; padding:0; }
.profile-edit svg { width:22px; height:22px; }
.passport-tabs { display:flex; gap:8px; margin:14px 0; border-bottom:1px solid var(--line); }
.passport-tabs a { flex:1; min-height:44px; padding:10px 4px; text-align:center; text-decoration:none; font-size:17px; }
.passport-tabs a[aria-current] { font-weight:650; border-bottom:3px solid #55764b; }
.weekly-board { max-width:800px; margin:auto; }
.weekly-heading h2 { font:500 27px/1.15 var(--serif); margin:8px 0; }
.weekly-heading p,.profile-note,.weekly-rules p { font-size:16px; line-height:1.45; color:#455b47; }
.weekly-your-score { display:grid; grid-template-columns:auto 1fr; gap:8px 16px; align-items:center; background:#eef1df; padding:16px; border-radius:16px; margin:18px 0; }
.weekly-your-score>span { font-size:16px; }.weekly-your-score strong { display:block; font:32px var(--serif); }.weekly-your-score strong small { font:16px var(--font); }
.weekly-your-score p { font-size:17px; margin:0; }.weekly-your-score a { grid-column:1/-1; text-align:center; }
.weekly-rows { list-style:none; padding:0; margin:14px 0; }
.weekly-rows li { display:grid; grid-template-columns:28px 36px minmax(0,1fr) auto; align-items:center; gap:9px; border-bottom:1px solid var(--line); padding:12px 8px; min-height:66px; }
.weekly-rows .is-you { background:#eef1df; border-radius:12px; border:1px solid #9eb48b; }
.weekly-rows strong { font-size:18px; overflow-wrap:anywhere; }.weekly-rows strong small { font-size:15px; font-weight:400; }.weekly-score { white-space:nowrap; font-size:20px; font-weight:650; }.weekly-score small { font-size:15px; font-weight:400; }.weekly-rank { font-size:17px; }
.weekly-avatar { background:#f4e7b7; border-radius:12px; width:36px; height:36px; display:grid; place-items:center; }.weekly-avatar svg { width:23px; height:23px; }
.weekly-empty { padding:24px 16px; margin:16px 0; background:#fffdf7; border:1px dashed #b7c7a4; border-radius:18px; text-align:center; }.weekly-empty>svg { width:40px; height:40px; color:#55764b; }.weekly-empty h3 { font:26px var(--serif); margin:10px 0; }.weekly-empty p { font-size:17px; }
.weekly-rules { margin-top:18px; }.weekly-rules summary,.profile-account summary { min-height:44px; padding:10px 0; font-size:17px; cursor:pointer; }.weekly-nearby { font:23px var(--serif); }.weekly-win-note { font-size:17px; color:#345b3c; }
.profile-dialog { width:460px; max-width:calc(100% - 24px); padding:20px; background:var(--paper); color:var(--ink); border:1px solid #a5b696; border-radius:20px; }.profile-dialog::backdrop { background:#24372875; }.profile-dialog-heading { display:flex; align-items:center; gap:12px; }.profile-dialog-heading h2 { font:27px/1.15 var(--serif); margin:0; flex:1; }.profile-dialog [data-close] { min-width:44px; min-height:44px; font-size:28px; }.profile-dialog p { font-size:17px; }.profile-dialog .profile-note { font-size:16px; }.profile-dialog .button { margin:8px 0; }.profile-dialog fieldset { border:0; padding:0; margin:18px 0; }.profile-dialog legend,.profile-dialog label { font-size:17px; }
.alias-fields { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.alias-fields select { display:block; width:100%; margin-top:6px; }.profile-avatars { display:flex; flex-wrap:wrap; gap:10px; margin-top:8px; }.profile-avatars label { position:relative; }.profile-avatars input { position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }.profile-avatars label>span { width:48px; height:48px; display:grid; place-items:center; border:1px solid #a5b696; border-radius:14px; }.profile-avatars svg { width:28px; height:28px; }.profile-avatars input:checked+span { background:#f4e7b7; border:2px solid #7e6329; }.profile-avatars input:focus-visible+span { outline:3px solid #9b4500; outline-offset:3px; }
.profile-consent { display:flex; align-items:flex-start; gap:12px; padding:12px; border:1px solid #b7c7a4; border-radius:12px; background:#fffdf7; }.profile-consent input { width:24px; height:24px; flex:none; margin:0; }.profile-actions { display:flex; flex-wrap:wrap; gap:8px; }.profile-join-mark { display:flex; align-items:center; gap:12px; padding:16px; background:#eef1df; border-radius:14px; margin-top:12px; }.profile-join-mark svg { width:36px; height:36px; }.profile-join-mark strong { font-size:21px; }.profile-message:empty { display:none; }.profile-message { color:#704219; }.profile-preview-note { font-size:16px; padding:10px; border:1px dashed #a58235; background:#fff8df; border-radius:10px; }.profile-dialog .sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.weekly-board>button.plain { display:block; min-height:44px; margin:8px 0; text-align:left; }
.profile-avatars { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:6px; }
.profile-avatars label>span { width:100%; min-width:44px; }
@media(max-width:350px) { .profile-avatars { grid-template-columns:repeat(3,48px); gap:10px; } }
.profile-signin { display:grid; gap:8px; margin:16px 0; }
.profile-signin .button { width:100%; min-height:48px; margin:0; }
.profile-signin .profile-provider { display:flex; align-items:center; justify-content:center; gap:12px; padding:12px; border-radius:4px; font:600 16px/1.25 Arial,sans-serif; box-shadow:none; }
.profile-provider img { flex:none; object-fit:contain; }
.profile-signin .profile-facebook { background:#0866ff; border:1px solid #0866ff; color:white; }
/* Google renders the live button. This branded fallback is local-review only.
   Preview logo: https://developers.google.com/identity/branding-guidelines */
.profile-signin .profile-google-preview { background:#fff; border:1px solid #747775; color:#1f1f1f; font-weight:500; }
.profile-signin .profile-provider:disabled { opacity:1; cursor:default; }
.profile-google { min-height:48px; display:grid; align-items:center; }
.email-dialog .email-consent { display:flex; align-items:flex-start; gap:10px; padding:12px; border:1px solid #a5b696; border-radius:10px; line-height:1.4; }
.email-dialog .email-consent input { width:24px; height:24px; min-height:24px; flex:none; margin:0; padding:0; accent-color:#234b3d; }
.profile-email label,.profile-code label { display:block; }
.profile-email input,.profile-code input { display:block; width:100%; min-height:48px; margin:8px 0; }
.profile-code input { font-size:26px; letter-spacing:.2em; }
.profile-fixtures summary { font-size:16px; min-height:44px; padding:10px 0; }
.profile-retention,.account-invitation { margin:20px 0; padding:16px; border:1px solid #b4bea4; border-radius:16px; background:linear-gradient(130deg,#fffdf5,#ecefdc); text-align:left; }
.profile-retention h2,.account-invitation h3 { font:25px/1.2 var(--serif); margin:0 0 10px; }
.profile-retention p,.account-invitation p { font-size:17px; }
.account-invitation>button { min-height:44px; margin:4px 8px 4px 0; }
.profile-dialog .email-entry { display:block; margin-top:20px; padding:12px; }
.profile-dialog .email-entry>span { display:none; }
.profile-dialog .email-entry small { display:block; margin:8px 0; font-size:16px; }
