/* BACKLINE account UI: isolated from calendar/arena/player styling. */
.account-strip{margin:-3px 0 8px;padding:5px 7px;border:1px solid #4b4b4b;background:#060606;display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:34px;box-shadow:inset 0 0 0 1px #111;}
.account-strip-copy{margin-right:auto;min-width:0;display:flex;align-items:center;gap:7px;color:#9d9d97;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.account-sync-dot{width:7px;height:7px;border-radius:50%;background:#777;flex:0 0 7px;}.account-sync-dot[data-state="saved"]{background:#72e29a;}.account-sync-dot[data-state="saving"]{background:#f0d36f;}.account-sync-dot[data-state="error"]{background:#ff8e8e;}
.account-sync-text{color:#bdbdb7;font-size:8px;}.account-button{min-height:26px;padding:4px 10px;border:1px solid #777;background:#e8e8e2;color:#050505;font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:10px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;}.account-button.logged-in{background:#101010;color:#f2f2ec;border-color:#9a9a94;}.account-button:hover{border-color:#fff;}
.account-modal{display:none;position:fixed;inset:0;z-index:140;background:rgba(0,0,0,.86);padding:22px;place-items:center;}.account-modal.show{display:grid;}.account-card{width:min(520px,100%);max-height:92vh;overflow:auto;border:1px solid #777;background:#080808;color:#f2f2ed;box-shadow:8px 8px 0 #000;padding:13px;}
.account-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #444;}.account-kicker{font-size:8px;color:#8f8f89;letter-spacing:.18em;text-transform:uppercase;}.account-head h2{margin:2px 0 0;font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:24px;letter-spacing:.08em;text-transform:uppercase;}.account-close{width:38px;height:38px;border:1px solid #666;background:#111;color:#eee;font-size:25px;cursor:pointer;}
.account-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:12px 0 8px;}.account-tab{padding:8px;border:1px solid #555;background:#0c0c0c;color:#aaa;font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;}.account-tab.active{background:#ecece6;color:#050505;border-color:#fff;}
.account-form{display:grid;gap:8px;}
.account-form[hidden]{display:none;}.account-form label{display:grid;gap:4px;color:#bcbcb5;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;}.account-form input{width:100%;padding:9px 10px;border:1px solid #626262;background:#030303;color:#fff;font:inherit;font-size:12px;outline:none;}.account-form input:focus{border-color:#fff;}.account-submit,.account-logout{min-height:38px;padding:8px 12px;border:1px solid #fff;background:#ecece6;color:#050505;font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:12px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;}
.account-help{padding:8px;border:1px solid #303030;background:#0c0c0c;color:#9f9f99;font-size:9px;line-height:1.55;}.account-message{min-height:18px;margin:9px 0 0;color:#bbb;font-size:9px;line-height:1.45;}.account-message.error{color:#ff9c9c;}.account-message.ok{color:#8ce7aa;}.account-profile{margin-top:12px;display:grid;gap:10px;}.account-user-block{padding:11px;border:1px solid #555;background:#0c0c0c;}.account-user-block strong{display:block;font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:20px;letter-spacing:.06em;}.account-user-block span{display:block;margin-top:3px;color:#aaa;font-size:9px;overflow-wrap:anywhere;}.account-revision{margin-top:5px;color:#777;font-size:8px;}.account-logout{background:#111;color:#eee;border-color:#777;}
.account-danger-zone{display:grid;gap:8px;margin-top:6px;padding-top:12px;border-top:1px solid #333}.account-delete-toggle{min-height:38px;padding:8px 12px;border:1px solid #7b4a4a;background:#120808;color:#ffb0b0;font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:12px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.account-delete-form[hidden]{display:none}.account-delete-form{display:grid;gap:8px;padding:10px;border:1px solid #7b4a4a;background:#0b0505}.account-delete-form label{display:grid;gap:5px;color:#e4b7b7;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.account-delete-form input{width:100%;min-height:42px;padding:9px 10px;border:1px solid #8b5555;background:#030303;color:#fff;font:inherit;font-size:16px;outline:none}.account-delete-form input:focus{border-color:#ffb0b0}.account-delete-warning{color:#c99898;font-size:9px;line-height:1.5}.account-delete-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.account-delete-confirm,.account-delete-cancel{min-height:40px;border:1px solid #777;font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.account-delete-confirm{background:#8c1f1f;color:#fff;border-color:#d45f5f}.account-delete-cancel{background:#111;color:#eee}
@media (max-width:680px){.account-strip{margin:-1px 0 6px;min-height:31px;padding:4px 6px;gap:5px;}.account-strip-copy{font-size:7px;letter-spacing:.04em;}.account-sync-text{display:none;}.account-button{min-height:27px;padding:4px 8px;font-size:9px;}.account-modal{padding:0;place-items:stretch;}.account-card{width:100%;max-height:100dvh;min-height:100dvh;padding:12px 10px calc(28px + env(safe-area-inset-bottom,0));border:0;box-shadow:none;}.account-head{position:sticky;top:-12px;z-index:2;margin:-12px -10px 10px;padding:11px 10px 9px;background:#080808;}.account-form input{min-height:44px;font-size:16px;}.account-submit,.account-logout{min-height:44px;}}
/* Real friends. */
.friend-manager{display:grid;gap:10px;padding-top:3px}.friend-manager-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-bottom:6px;border-bottom:1px solid #444}.friend-manager-title strong{font-family:Impact,"Arial Narrow",Arial,sans-serif;letter-spacing:.1em}.friend-manager-title span{color:#777;font-size:8px;text-transform:uppercase}.friend-add-form{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:end}.friend-add-form label{display:grid;gap:4px;color:#aaa;font-size:8px;font-weight:900;text-transform:uppercase}.friend-add-form input{min-height:38px;padding:8px;border:1px solid #555;background:#030303;color:#fff;font-size:12px}.friend-add-form button,.friend-mini{min-height:34px;padding:6px 9px;border:1px solid #777;background:#ecece6;color:#050505;font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:9px;letter-spacing:.05em;text-transform:uppercase;cursor:pointer}.friend-mini.danger{background:#111;color:#ddd;border-color:#555}.friend-manager-message{min-height:15px;color:#aaa;font-size:9px}.friend-manager-message.ok{color:#8ce7aa}.friend-manager-message.error{color:#ff9c9c}.friend-manager-section{display:grid;gap:5px;padding:8px;border:1px solid #333;background:#050505}.friend-manager-section>b{font-size:8px;letter-spacing:.12em;color:#888}.friend-manager-section.has-items{border-color:#777}.friend-manager-row{display:flex;align-items:center;gap:8px;padding:7px;border:1px solid #333;background:#0d0d0d}.friend-manager-row .avatar{width:30px;height:30px;display:grid;place-items:center;border:1px solid #666;background:#111;font-size:9px;font-weight:900}.friend-manager-person{display:grid;gap:2px;min-width:0;flex:1}.friend-manager-person strong{font-size:10px}.friend-manager-person span{font-size:8px;color:#888}.friend-row-actions{display:flex;gap:4px;flex-wrap:wrap}.friend-manager-empty{padding:5px 0;color:#777;font-size:8px}.friend-event-invite{display:grid;gap:6px;padding:8px;border:1px solid #555;background:#0d0d0d}.friend-event-invite>strong{font-size:10px}.friend-event-invite>span{font-size:8px;color:#aaa;line-height:1.4}.friend-empty{padding:7px 2px;color:#85857f;font-size:9px;line-height:1.4}
@media(max-width:680px){.friend-add-form{grid-template-columns:1fr}.friend-add-form input{min-height:44px;font-size:16px}.friend-add-form button,.friend-mini{min-height:40px}.friend-manager-row{align-items:flex-start;flex-wrap:wrap}.friend-row-actions{width:100%}}
.friend-own-code{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px;border:1px solid #555;background:#0d0d0d}.friend-own-code>div{display:grid;gap:2px}.friend-own-code span{font-size:8px;color:#888;letter-spacing:.12em}.friend-own-code strong{font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:18px;letter-spacing:.12em}
/* Friend QR. */
.friend-own-actions,.friend-add-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.friend-add-actions{align-items:stretch}.friend-qr-panel[hidden],.friend-qr-scanner[hidden]{display:none}.friend-qr-panel{display:grid;grid-template-columns:132px 1fr;gap:10px;align-items:center;padding:9px;border:1px solid #666;background:#ecece6;color:#050505}.friend-qr-frame{width:132px;height:132px;padding:7px;background:#fff;border:2px solid #050505;display:grid;place-items:center}.friend-qr-frame img{display:block;width:100%;height:100%;object-fit:contain}.friend-qr-copy{display:grid;gap:6px}.friend-qr-copy strong{font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:14px;letter-spacing:.08em}.friend-qr-copy span{font-size:8px;line-height:1.5;color:#333}.friend-qr-scanner{position:relative;display:grid;gap:6px;padding:8px;border:1px solid #777;background:#020202;overflow:hidden}.friend-qr-scanner video{display:block;width:100%;max-height:280px;object-fit:cover;background:#111;border:1px solid #555}.friend-qr-scanner>span{font-size:8px;color:#aaa;line-height:1.4}.friend-qr-scanline{position:absolute;left:9%;right:9%;top:42%;height:1px;background:#fff;box-shadow:0 0 8px #fff;pointer-events:none}.friend-add-form>.friend-add-actions>button{min-height:38px}.friend-add-form>.friend-add-actions .friend-mini{background:#111;color:#eee}
@media(max-width:680px){.friend-own-code{align-items:flex-start;flex-direction:column}.friend-own-actions{width:100%;justify-content:stretch}.friend-own-actions button{flex:1}.friend-qr-panel{grid-template-columns:1fr;text-align:center}.friend-qr-frame{width:min(220px,72vw);height:min(220px,72vw);margin:auto}.friend-add-actions{width:100%}.friend-add-actions button{flex:1}.friend-qr-scanner video{max-height:45vh}}

/* Compact account strip only. */
.account-strip{margin:-3px 0 8px;padding:4px 8px;justify-content:flex-start;gap:7px;min-height:31px}.account-strip-copy{margin:0;gap:0;color:#f2f2ed;font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:11px;letter-spacing:.1em}.account-sync-dot,.account-sync-text{display:none}.account-button{min-height:22px;padding:2px 7px;border:0;border-left:1px solid #555;background:transparent;color:#f2f2ed;font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:11px;letter-spacing:.1em}.account-button.logged-in{background:transparent;color:#f2f2ed;border-color:#555}.account-button:hover{background:#ecece6;color:#050505}@media(max-width:680px){.account-strip{margin:-1px 0 5px;min-height:28px;padding:3px 6px;gap:5px}.account-strip-copy,.account-button{font-size:10px}.account-button{min-height:22px;padding:2px 6px}}

/* Readability scaling. */
.account-strip-copy,.account-button{font-size:12px}
.account-tab{font-size:12px}
.account-form label,.account-help,.account-message,.account-user-block span{font-size:10px}
.friend-manager-title span,.friend-add-form label,.friend-manager-section>b,.friend-manager-person span,.friend-manager-empty,.friend-event-invite>span,.friend-own-code span,.friend-qr-copy span,.friend-qr-scanner>span{font-size:9px}
.friend-manager-person strong,.friend-event-invite>strong{font-size:11px}
.friend-add-form button,.friend-mini{font-size:10px}
@media(max-width:680px){
  .account-strip{min-height:34px;padding:5px 7px}.account-strip-copy,.account-button{font-size:12px}.account-button{min-height:28px}
  .account-kicker{font-size:10px}.account-head h2{font-size:27px}.account-tab{font-size:14px;min-height:44px}
  .account-form label{font-size:11px}.account-help,.account-message{font-size:11px}.account-user-block strong{font-size:23px}.account-user-block span{font-size:11px}
  .friend-manager-title strong{font-size:16px}.friend-manager-title span{font-size:10px}.friend-add-form label{font-size:11px}
  .friend-add-form button,.friend-mini{font-size:12px;min-height:44px}.friend-manager-section>b{font-size:10px}
  .friend-manager-row .avatar{width:36px;height:36px;font-size:11px}.friend-manager-person strong{font-size:13px}.friend-manager-person span{font-size:10px}
  .friend-manager-empty,.friend-event-invite>span,.friend-empty{font-size:11px}.friend-event-invite>strong{font-size:13px}
  .friend-own-code span{font-size:10px}.friend-own-code strong{font-size:22px}.friend-qr-copy strong{font-size:17px}.friend-qr-copy span,.friend-qr-scanner>span{font-size:10px}
}

@media(max-width:680px){.account-delete-toggle{min-height:46px;font-size:13px}.account-delete-warning{font-size:11px}.account-delete-confirm,.account-delete-cancel{min-height:46px;font-size:13px}}

/* v0.28a band/artist entry point. */
.account-form select{width:100%;min-height:42px;padding:9px 10px;border:1px solid #555;background:#030303;color:#fff;font:inherit;font-size:16px;outline:none}.account-band-link{display:block;padding:11px 12px;border:1px solid #777;background:#ecece6;color:#050505;text-decoration:none;text-align:center;font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.account-band-link:hover{background:#fff}.account-band-link:focus{outline:2px solid #fff;outline-offset:2px}@media(max-width:680px){.account-band-link{min-height:46px;display:grid;place-items:center;font-size:13px}}
