/* Phone presentation only; keep information and all existing actions. */
.friend-date-mobile { display:none; }
.reward-mobile-help { display:none; }
.reward-help-dialog { width:min(420px,calc(100vw - 28px)); max-height:calc(100dvh - 40px); box-sizing:border-box; overflow:auto; padding:16px; border:1px solid #587560; border-radius:14px; background:#14251b; color:#e1eee6; }
.reward-help-dialog::backdrop { background:#000a; }
.reward-help-dialog header { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.reward-help-dialog h2 { font-size:18px; margin:0; }
.reward-help-dialog header button { min-width:40px; min-height:40px; border:0; background:transparent; color:inherit; font-size:24px; }
.reward-help-dialog p { font-size:13px; line-height:1.6; }
.completion-award-dialog h2:focus { outline:none; }
@media(pointer:coarse) {
 .completion-award-dialog>a:focus { outline:none; }
 .completion-award-dialog>a:focus-visible { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; }
}
@media(max-width:600px) {
 /* Prevent an overflowing descendant from widening Safari's page viewport. */
 html:has(#all-cards:not([hidden])),body:has(#all-cards:not([hidden])) { width:100%; max-width:100%; overflow-x:clip; }
 body:has(#all-cards:not([hidden]))>.app-frame { width:100%; max-width:100%; min-width:0; overflow-x:clip; }
 #rewards>.rewards-note,#rewards>[data-server-rewards-main]>.rewards-note { display:none; }
 #rewards .reward-mobile-help { display:inline-flex; align-items:center; min-height:36px; margin:0 0 9px; padding:6px 10px; border:1px solid #526d59; border-radius:8px; background:#20392b; color:#ead9a7; font-size:12px; cursor:pointer; }
 #rewards .reward-calendar { grid-auto-columns:76px; gap:5px; padding:4px 0 9px; }
 #rewards .reward-day { min-height:86px; padding:7px 3px; gap:4px; border-radius:8px; }
 #rewards .reward-day>strong { font-size:14px; }
 #rewards .reward-day>.reward-day-check { width:20px; height:20px; font-size:15px; }
 #rewards .reward-day>small { gap:3px; }
 #rewards .reward-day .loyalty-gift { font-size:10px; padding:3px 1px; }
 .reward-missing-dialog .reward-missing-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px 4px; }
 .reward-missing-dialog .reward-wish-box { left:3%; right:3%; padding:1px; gap:1px; }
 .reward-missing-dialog .reward-wish-button { font-size:9px; }
 .reward-missing-dialog .reward-wish-info { flex-basis:18px; width:18px; font-size:12px; }
 #rewards .rewards-table { min-width:600px; font-size:11px; }
 #rewards .rewards-table col:nth-child(1) { width:18%!important; }
 #rewards .rewards-table col:nth-child(3) { width:9%!important; }
 #rewards .rewards-table col:nth-child(4) { width:12%!important; }
 #rewards .rewards-table col[data-info-column] { width:6.5%!important; }
 #rewards .rewards-table col[span] { width:13.625%!important; }
 #rewards .rewards-table :is(th,td) { padding:5px; white-space:normal; }
 #rewards .rewards-table thead th { font-size:11px; line-height:1.35; }
 #rewards .rewards-table tbody th { min-width:0; }
 #rewards .rewards-table :is(.reward-row-name,.reward-category-toggle) { font-size:11px; white-space:normal; line-height:1.3; }
 #rewards .rewards-table .reward-category-toggle { min-height:36px; }
 #rewards .rewards-table .reward-completion-percent { font-size:11px; white-space:nowrap; font-variant-numeric:tabular-nums; }
 #rewards .rewards-table .reward-progress-bar { padding:0 3px; font-size:10px; white-space:nowrap; }
 #rewards .rewards-table .reward-sub-row th { padding-left:18px; background-position:9px 0; }
 #rewards .rewards-table .reward-table-gifts { flex-wrap:wrap; gap:3px; }
 #rewards .rewards-table :is(.reward-normal-chip,.reward-super-chip) { font-size:10px; padding:3px 4px; }
 #rewards .rewards-table .reward-missing-info { min-width:32px; min-height:36px; }
 html #collection-album .album-hero { display:flex; flex-direction:row; align-items:center; justify-content:space-between; min-height:0; padding:10px 12px; margin:0 0 9px; gap:8px; border:1px solid #59674e; border-radius:12px; background:radial-gradient(ellipse at 90% 0,#c2ae4a22,transparent 65%),linear-gradient(130deg,#1e3026,#151e19); }
 html #collection-album .album-hero h2 { margin:0; font-size:20px; line-height:1.2; font-weight:500; }
 html #collection-album .album-hero .album-total { display:grid; flex:0 0 auto; gap:2px; text-align:right; }
 html #collection-album .album-hero .album-total strong { font-size:11px; }
 html #collection-album .album-hero .album-total :is(small,span) { font-size:10px; }
 body .app-shell:has(> #all-cards:not([hidden])) { width:calc(100% - 16px); max-width:none; margin-inline:8px; }
 #all-cards { width:100%; max-width:100%; min-width:0; box-sizing:border-box; justify-self:stretch; }
 #all-cards #all-cards-grid { width:100%; max-width:none; min-width:0; margin-inline:0; justify-items:stretch; }
 #all-cards #all-cards-grid>.card-shell { width:100%; max-width:none; margin:0; }
 #all-cards .catalog-pagination { display:flex; flex-wrap:nowrap; justify-content:center; gap:4px; margin:8px 0; width:100%; min-width:0; }
 #all-cards .catalog-pagination>span { flex:0 0 auto; min-width:0; font-size:11px; white-space:nowrap; }
 #all-cards .catalog-pagination button { flex:0 0 36px; width:36px; height:40px; padding:0; font-size:14px; }
 #all-cards .catalog-page-jump { flex:0 0 auto; gap:4px; margin:0; }
 #all-cards .catalog-page-jump label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 #all-cards .catalog-page-jump input { box-sizing:border-box; width:48px; min-height:40px; height:40px; padding:4px; font-size:16px; }
 #friends .friends-row:is(.is-request,:has([data-social="accept"])) { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:6px; }
 #friends .friends-row.is-request:has(>.friends-avatar) { grid-template-columns:30px minmax(0,1fr) auto; }
 #friends .friends-row.is-request>.friends-avatar { width:30px; height:30px; font-size:13px; }
 #friends .friends-row:is(.is-request,:has([data-social="accept"])) .friends-row-actions { display:grid; grid-template-columns:repeat(2,auto); margin:0; gap:4px; flex-basis:auto; }
 #friends .friends-row:is(.is-request,:has([data-social="accept"])) .friends-row-actions button { min-height:44px; padding:5px 6px; font-size:11px; }
 #friends .friends-row:has([data-social="accept"]) [data-social="block"] { grid-column:1/-1; }
 #all-cards #all-cards-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 5px; }
 body .app-shell:has(> :is(#all-cards,#friends,#rewards):not([hidden])) { padding-top:6px; }
 #friends,#all-cards,#rewards { padding-top:0; }
 #all-cards .catalog-hero,#rewards .rewards-hero,#friends .friends-heading { min-height:0; padding:10px 12px; margin-bottom:9px; border-radius:12px; gap:8px; }
 #all-cards .catalog-hero { flex-direction:row; align-items:center; }
 #all-cards .catalog-hero h2,#rewards .rewards-hero h1,#friends .friends-heading h1 { font-size:20px; line-height:1.2; margin:0 0 4px; }
 #all-cards .catalog-hero p,#rewards .rewards-hero p,#friends .friends-heading p { font-size:12px; line-height:1.4; }
 #all-cards #catalog-result-count { font-size:11px; text-align:right; max-width:35%; }
 #all-cards .catalog-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 6px; padding:6px; margin-bottom:7px; }
 #all-cards .catalog-filters>label { min-width:0; gap:2px; font-size:10px; line-height:1.2; }
 #all-cards .catalog-search { grid-column:1; grid-row:1; }
 #all-cards #catalog-reset { grid-column:2; grid-row:1; align-self:end; width:100%; }
 #all-cards .catalog-filters :is(select,input:not([type=checkbox])) { width:100%; min-width:0; box-sizing:border-box; height:34px; min-height:34px; padding:0 6px; font-size:11px; border-radius:8px; }
 #all-cards .catalog-reset { height:34px; min-height:34px; padding:4px 6px; font-size:11px; font-weight:600; color:#e1eee6; background:#243b2d; border:1px solid #64836e; border-radius:8px; }
 #all-cards .catalog-reset:active { background:#35543f; border-color:#a8d5b8; }
 #friends .friends-heading { gap:7px; }
 .friends-dialog:has(#friends-player-query) { position:fixed; top:24px; bottom:auto; margin:0 auto; max-height:calc(100dvh - 48px); overflow-y:auto; overflow-anchor:none; }
 .friends-dialog #friends-player-query { height:44px; min-height:44px; font-size:16px; }
 .friends-dialog:has(#friends-player-query) .friends-player-results { max-height:max(100px,calc(100dvh - 290px)); overflow-y:auto; overflow-anchor:none; }
 #friends .friends-search { flex-shrink:0; }
 #friends .friends-referral { min-width:0; padding:8px 10px; gap:2px; border-radius:9px; }
 #friends .friends-referral strong { font-size:14px; }
 #friends .friends-tabs { margin:8px 0; gap:5px; padding-bottom:6px; }
 #friends .friends-tabs button { min-height:44px; padding:6px 12px; }
 #friends .friends-find-section { padding:9px; margin-bottom:10px; gap:7px; border-radius:10px; }
 #friends .friends-find-section h2 { margin-bottom:3px; }
 #friends .friends-find-section p { line-height:1.4; }
 #friends .friends-row { padding:9px; gap:7px; border-radius:10px; }
 #friends .friends-row-actions { gap:5px; margin-left:0; flex-basis:100%; }
 /* Keep each friend's actions together without changing desktop or requests. */
 #friends .friends-row:has(:is([data-friend-collection],[data-social="collection"])) .friends-row-actions { display:flex; flex-wrap:nowrap; gap:3px; width:100%; min-width:0; }
 #friends .friends-row:has(:is([data-friend-collection],[data-social="collection"])) .friends-row-actions button { flex:1 1 0; min-width:0; min-height:44px; padding:4px 2px; font-size:10px; white-space:nowrap; justify-content:center; }
 #friends .friends-row-actions [data-friend-collection] { font-size:0!important; }
 #friends .friends-row-actions [data-friend-collection]::after { content:'Collection'; font-size:10px; }
 #friends .friends-row:has([data-friend-collection]) .friends-row-actions svg { display:none; }
 #friends .friends-row:has([data-social="collection"]) .friends-row-actions button { font-size:9px; }
 #friends .friends-row:has([data-social="collection"]) .friends-row-actions :is([data-social="remove"],[data-social="block"],[data-social="report"]) { flex:0 0 32px; font-size:0; }
 #friends .friends-row:has([data-social="collection"]) [data-social="remove"]::after { content:'×'; font-size:19px; }
 #friends .friends-row:has([data-social="collection"]) [data-social="block"]::after { content:'⊘'; font-size:19px; }
 #friends .friends-row:has([data-social="collection"]) [data-social="report"]::after { content:'!'; font-size:19px; }
 /* Readable two-column actions beside the identity. */
 #friends .friends-row:has(:is([data-friend-collection],[data-social="collection"])) { flex-wrap:nowrap; padding:6px; gap:4px; }
 #friends .friends-row:has([data-friend-collection])>.friends-avatar { width:24px; height:24px; font-size:11px; }
 #friends .friends-row:has(:is([data-friend-collection],[data-social="collection"]))>:is(.friends-identity,strong) { flex:1 1 0; min-width:0; font-size:17px; line-height:1.2; overflow-wrap:anywhere; }
 #friends .friends-row:has([data-friend-collection]) .friends-identity { gap:3px; }
 #friends .friends-row:has([data-friend-collection]) .friends-identity strong { font-size:17px; }
 #friends .friends-row:has([data-friend-collection]) .friends-identity small { font-size:10px; }
 #friends .friend-date-desktop,#friends .friends-player-motto { display:none; }
 #friends .friend-date-mobile { display:block; font-size:10px; font-weight:400; color:#a6beaf; margin-top:3px; }
 #friends .friends-row:has(:is([data-friend-collection],[data-social="collection"])) .friends-row-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); flex:0 0 50%; width:50%; gap:2px; margin-left:auto; }
 #friends .friends-row:has(:is([data-friend-collection],[data-social="collection"])) .friends-row-actions button { width:100%; min-width:0; height:32px; min-height:32px; padding:2px 3px; font-size:0!important; white-space:normal; line-height:1.15; }
 #friends .friends-row-actions :is([data-friend-collection],[data-social="collection"]) { grid-column:1; grid-row:1; }
 #friends .friends-row-actions :is([data-friend-trade],[data-social="trade"]) { grid-column:2; grid-row:1; }
 #friends .friends-row-actions :is([data-friend-message],[data-social="message"]) { grid-column:1; grid-row:2; }
 #friends .friends-row-actions :is([data-friend-remove],[data-social="remove"]) { grid-column:2; grid-row:2; }
 #friends .friends-row-actions :is([data-friend-collection],[data-social="collection"])::after { content:'Voir la collection'; font-size:10px; }
 #friends .friends-row-actions :is([data-friend-message],[data-social="message"])::after { content:'Message'; font-size:10px; }
 #friends .friends-row-actions :is([data-friend-trade],[data-social="trade"])::after { content:'Échange'; font-size:10px; }
 #friends .friends-row-actions [data-friend-remove]::after { content:'Supprimer'; font-size:10px; }
 #friends .friends-row:has([data-social="collection"]) [data-social="remove"]::after { content:'Supprimer'; font-size:10px; }
 #friends .friends-row:has([data-social="collection"]) [data-social="block"]::after { content:'Bloquer'; font-size:10px; }
 #friends .friends-row:has([data-social="collection"]) [data-social="report"]::after { content:'Signaler'; font-size:10px; }
 #friends .friends-button { min-height:44px; padding:6px 8px; font-size:11px; }
 #friends .friends-requests { margin-bottom:12px; }
 #friends :is(.friends-requests,.friends-list-section) h2 { margin-bottom:7px; }
 #friends .friends-inbox { min-height:0; grid-template-columns:minmax(0,34%) minmax(0,1fr); align-items:stretch; }
 #friends .friends-conversations { padding:6px 4px; border-right:1px solid #344b3c; border-bottom:0; }
 #friends .friends-conversations h2 { margin:0 0 6px; font-size:11px; }
 #friends .friends-conversations .friends-search { padding:0 4px; }
 #friends .friends-conversations .friends-search input { padding:7px 0; min-width:0; font-size:11px; }
 #friends .friends-conversation-list { display:flex; flex-direction:column; gap:4px; max-height:430px; overflow-x:hidden; overflow-y:auto; }
 #friends .friends-conversation { flex:0 0 auto; gap:3px; padding:6px 3px; min-height:44px; }
 #friends .friends-conversation .friends-avatar { display:none; }
 #friends .friends-conversation strong { font-size:11px; }
 #friends .friends-conversation small { font-size:9px; }
 #friends .friends-conversation .friends-unread-badge { min-width:16px; height:16px; padding:0 3px; font-size:9px; }
 #friends .friends-conversations .friends-search { margin-bottom:6px; }
 #friends .friends-conversation { padding:7px; min-height:44px; }
 #friends .friends-conversation small { margin-top:3px; }
 #friends .friends-discussion { padding:7px; }
 #friends .friends-discussion-header { padding-bottom:7px; flex-wrap:wrap; gap:4px; }
 #friends .friends-discussion-header .friends-avatar { display:none; }
 #friends .friends-discussion-header h2 { font-size:14px; }
 #friends .friends-discussion-header button { min-height:32px; padding:4px 6px; font-size:10px; }
 #friends .friends-compose { flex-wrap:wrap; }
 #friends .friends-compose textarea { flex:1 1 100%; padding:7px; }
 #friends .friends-compose>button { margin-left:auto; min-height:34px; padding:4px 8px; font-size:11px; }
 #friends .friends-message-log { height:clamp(170px,29dvh,260px); padding:9px 0; gap:7px; }
 #friends .friends-compose { padding-top:7px; gap:6px; }
 #friends .friends-compose textarea { padding:7px; min-height:44px; }
 #friends .friends-compose-footer { margin-top:5px; gap:5px; }
 #rewards .rewards-heading { margin:14px 0 8px; gap:5px; }
 #rewards h2 { font-size:17px; }
 #rewards .rewards-grid { gap:8px; }
 #rewards .reward-rule { padding:11px; border-radius:11px; }
 #rewards .reward-symbol { width:28px; height:28px; font-size:18px; }
 #rewards .reward-rule h3 { margin-top:7px; font-size:15px; }
 #rewards .reward-rule p { margin:6px 0 9px; font-size:12px; line-height:1.4; }
 #rewards .reward-gifts { gap:5px; }
 #rewards .reward-gifts>span { padding:7px; gap:6px; }
 #rewards .reward-gifts strong { font-size:19px; }
 #rewards .reward-rule small { margin-top:7px; }
 #rewards :is(.reward-loyalty,.reward-calendar-section) { padding:11px; }
 #rewards .reward-simple-rules { margin:9px 0; gap:6px; }
 #rewards .reward-simple-rules>div { padding:9px; }
 #rewards .reward-simple-rules>div>span { margin-bottom:5px; }
 #rewards .reward-section { margin-top:9px; border-radius:11px; }
 #rewards .reward-section>summary { padding:10px 12px; min-height:44px; box-sizing:border-box; font-size:16px; }
 #rewards .reward-section>summary>span { font-size:11px; margin:3px 0 0; }
 #rewards .rewards-note { margin:9px 0 12px; line-height:1.4; }
}
