/* ZOO Web 0.3 — geometric alignment, editable icons, and user palettes */
:root {--bg-glow:#132f5d;--bg-soft:#081426;--accent-subtle:#173d76;--content-gap:16px;--panel-radius:13px}
body{background:radial-gradient(ellipse 92% 86% at 54% 5%,var(--bg-glow),var(--bg) 69%);background-attachment:fixed}
html[data-theme="light"] body{background:radial-gradient(ellipse 86% 73% at 53% 1%,var(--bg-glow),var(--bg) 75%);background-attachment:fixed}
.login-screen,html[data-theme="light"] .login-screen{background:radial-gradient(ellipse 85% 85% at 35% 0%,var(--bg-glow),var(--bg) 78%)}
.sidebar{background:linear-gradient(180deg,var(--side),var(--bg))}
.panel,.tile,.member-card,.file-card{border-radius:var(--panel-radius)}
.panel{background:linear-gradient(145deg,var(--panel2),var(--panel))}
.nav-link{gap:15px}
.nav-link.active{background:var(--accent-subtle);color:var(--text);border-color:var(--accent)}
html[data-theme="dark"] .nav-link.active{color:#fff}
.theme-toggle .theme-current{box-shadow:0 3px 14px color-mix(in srgb,var(--accent) 38%,transparent)}
.btn.primary,.primary-play{background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 77%,white),var(--accent))!important;border-color:var(--accent)!important}
.tile{border-color:color-mix(in srgb,var(--line) 74%,var(--tile1));background:radial-gradient(ellipse at 92% 12%,color-mix(in srgb,var(--tile1) 35%,var(--panel2)),transparent 70%),linear-gradient(130deg,color-mix(in srgb,var(--tile1) 44%,var(--panel2)),var(--panel));}
.tile>.badge-icon{width:58px;height:58px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--tile1) 37%,var(--line));background:color-mix(in srgb,var(--tile2) 82%,#040910 18%);border-radius:12px;color:#e8f3ff}
.tile .badge-icon .ico{width:29px;height:29px;max-width:29px;max-height:29px}
.tile-bottom{bottom:22px;left:22px;right:65px}.tile-arrow{width:38px;height:38px;right:18px;bottom:18px}
/* Icons inherit the current text color; all files can be swapped individually. */
.ico.icon-mask{display:inline-block;vertical-align:middle;flex:0 0 auto;width:20px;height:20px;aspect-ratio:1;background-color:currentColor;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;}
.nav-link .ico{height:22px;width:22px}.search-control .ico{height:19px;width:19px}
.icon-btn .ico{height:21px;width:21px}.tile-arrow .ico{width:18px;height:18px}
.file-art .ico,.empty .ico{width:50px;height:50px}
.btn .ico{width:18px;height:18px}
/* A notification dot appears only when the user actually has unread notifications. */
.notification-button i[hidden]{display:none!important}
.notification-button i{right:5px;top:4px;border:2px solid var(--side);width:10px;height:10px}
/* Same vertical and horizontal system on every page. */
.page{width:100%;max-width:1880px;margin-inline:auto;padding:26px clamp(18px,2.3vw,38px) 48px}
.page-heading{margin-bottom:22px;min-height:44px}
.page-heading.with-actions{min-height:44px}
.page-heading h1{margin:0;line-height:1.23}
.home-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,365px);gap:var(--content-gap);align-items:start}
.home-main,.home-side{min-width:0}
.home-main .page-heading{height:46px;margin-bottom:24px}
.home-side{padding-top:70px}
.tiles{gap:var(--content-gap);grid-template-columns:repeat(3,minmax(0,1fr))}
.tile{height:252px}
.home-layout .radio-card{height:520px;min-height:520px}
.home-layout .home-feed,.home-layout .home-members{margin-top:var(--content-gap);min-height:175px}
.home-layout .home-feed{padding:20px}
.home-layout .home-members{padding:20px}
.file-grid,.video-grid,.member-grid{column-gap:var(--content-gap);row-gap:var(--content-gap)}
.file-card{height:100%}.file-card .file-body{flex:1}.video-card{display:flex;flex-direction:column;min-width:0}.video-card .video-title{min-height:38px}.video-card small{margin-top:auto;padding-top:7px}
.radio-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:var(--content-gap);align-items:stretch}
.radio-main{min-width:0}.radio-side{display:grid;grid-template-rows:1fr 1fr;gap:var(--content-gap)}.radio-side .panel{min-height:0}
.setting-stack{gap:var(--content-gap)}.setting-section{grid-template-columns:minmax(190px,245px) minmax(0,1fr);gap:28px;align-items:start}
.setting-label{align-items:center}.setting-label .ico{width:25px;height:25px}.setting-body{min-width:0}
.setting-section .segmented .btn.active{background:var(--accent-subtle);color:var(--text)}
/* Presets + custom hue pickers for the accent and the entire background. */
.palette-row{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:20px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}
.palette-row:first-of-type{border-top:0}.palette-heading strong{display:block;font-size:13px;font-weight:670}.palette-heading small{display:block;margin-top:5px;font-size:11px;line-height:1.5;color:var(--muted)}
.palette-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;min-width:0}
.palette-presets{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.palette-preset{width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:var(--swatch);border:2px solid color-mix(in srgb,var(--swatch) 85%,white);box-shadow:inset 0 0 0 1px #0005;position:relative}
.palette-preset.selected{outline:2px solid var(--text);outline-offset:3px}
.palette-preset:focus-visible{outline:2px solid var(--accent2);outline-offset:4px}
.palette-controls .color-picker-label{min-width:118px;height:44px}
.palette-controls .color-picker-label input{flex:0 0 40px;width:40px}
/* Random Draft — equal-width columns, equal-height boxes in each grid row, orderly table cells. */
.draft-tabs{gap:12px;margin-bottom:20px}.draft-tabs .btn{min-width:160px}
.competition-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);gap:var(--content-gap);align-items:stretch}
.competition-panel{height:100%;min-width:0;padding:22px;overflow:hidden}
.competition-panel h3{line-height:1.3;margin:0 0 17px}.competition-panel h2{line-height:1.25}
.competition-top{align-items:start;flex-wrap:wrap}
.competition-top>div{min-width:0;flex:1}.competition-top button{max-width:100%}
.competition-note{margin:18px 0}
.standings-row{grid-template-columns:30px minmax(94px,1fr) minmax(150px,1.25fr) minmax(100px,.7fr);column-gap:10px;padding:13px 0}
.standings-row>*{min-width:0}.standings-row small{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.standings-row b{text-align:right;white-space:nowrap}
.category-row{grid-template-columns:minmax(142px,1.35fr) minmax(90px,1fr) minmax(72px,.6fr);column-gap:12px;padding:14px 0}
.category-row>*{min-width:0}.category-row small{justify-self:end;white-space:nowrap;text-align:right}
.riot-form input{flex:1 1 125px}.draft-row strong{min-width:0;overflow-wrap:anywhere}.hof-entry{flex-wrap:wrap}
.roulette-wrap{min-width:0}
/* Screen sizes — don't leave a forced two-column desktop grid on smaller screens. */
@media(max-width:1350px){.competition-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.standings-row{grid-template-columns:24px minmax(85px,1fr) minmax(100px,1fr) auto}.home-layout{grid-template-columns:minmax(0,1fr) minmax(290px,320px)}.tile{height:230px}.home-layout .radio-card{height:476px;min-height:476px}.home-layout .radio-card .album{width:min(100%,190px)}}
@media(max-width:1150px){.home-layout{grid-template-columns:1fr}.home-side{padding-top:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--content-gap)}.home-layout .radio-card{height:auto;min-height:0}.home-layout .home-members{margin-top:0}.setting-section{grid-template-columns:210px minmax(0,1fr)}.file-grid,.video-grid,.member-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.competition-layout{grid-template-columns:1fr}}
@media(max-width:820px){.home-side{grid-template-columns:1fr}.home-layout .home-members{margin-top:0}.tile{height:210px}.setting-section{grid-template-columns:1fr;gap:16px}.palette-row{grid-template-columns:1fr;gap:11px}.radio-page{grid-template-columns:1fr}.radio-side{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.radio-side .panel{min-height:210px}}
@media(max-width:690px){.page{padding:20px 12px 36px}.sidebar{padding:8px}.nav-link{gap:7px}.home-main .page-heading{height:auto;margin-bottom:19px}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tile{height:175px;padding:15px}.tile-bottom{left:15px;right:40px;bottom:15px}.tile .badge-icon{width:44px;height:44px}.tile .badge-icon .ico{width:24px;height:24px}.tile-arrow{height:30px;width:30px;right:11px;bottom:13px}.file-grid,.video-grid,.member-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.page-heading.with-actions{flex-wrap:wrap;align-items:start}.competition-panel{padding:16px}.competition-layout{gap:12px}.category-row{grid-template-columns:minmax(105px,1.4fr) minmax(69px,1fr) minmax(60px,.6fr);gap:7px}.standings-row{grid-template-columns:22px minmax(78px,1fr) auto}.standings-row small{display:none}.radio-side{grid-template-columns:1fr}.palette-controls{align-items:start}.palette-preset{width:31px;height:31px;flex-basis:31px}}
@media(max-width:390px){.file-grid,.video-grid{grid-template-columns:1fr 1fr}.palette-presets{gap:6px}.palette-row{gap:8px}.palette-controls{gap:8px}}
/* Last pixel checks: the two blocks below Home stay level in an empty dashboard. */
@media(min-width:1151px){.home-layout .home-feed,.home-layout .home-members{min-height:192px}}
/* On a narrow phone the toolbar must shrink instead of making the whole page 42px wider. */
@media(max-width:690px){.nav-link{width:auto;flex:0 0 auto}.search-control{width:auto;flex:1 1 0;min-width:0}.toolbar{flex:0 0 auto;gap:3px}.topbar{gap:8px}.topbar .icon-btn{min-width:34px;width:34px}.topbar .small-avatar{width:36px;height:36px}.topbar .theme-toggle{padding:3px 4px;gap:1px}.topbar .theme-toggle>span{width:25px;height:25px}}
@media(max-width:690px){html,body{max-width:100%;overflow-x:clip}.workspace,.page,.topbar{min-width:0;max-width:100%}.sidebar .nav{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}}

/* Tous les glyphes transformés en SVG modifiables. */
.login-theme .ico{width:21px;height:21px}
.discord-symbol .ico{width:27px;height:27px}
.discord-login>.ico{width:21px;height:21px}
.theme-toggle>span>.ico{width:18px;height:18px}
.subtle-link .ico{width:13px;height:13px}
.video-card small .ico{width:12px;height:12px}


/* ZOO 0.3.4 — corrections visuelles validées */
/* A switch with a true traveling thumb, not a fixed blue right-hand circle. */
.theme-toggle{position:relative;isolation:isolate;width:78px;min-width:78px;padding:4px;gap:0;justify-content:space-around;transition:background .2s ease}
.theme-toggle::before{content:"";position:absolute;z-index:-1;top:4px;left:39px;width:30px;height:30px;border-radius:50%;background:var(--accent);box-shadow:0 3px 12px color-mix(in srgb,var(--accent) 40%,transparent);transition:left .22s ease,background .22s ease}
.theme-toggle>span{width:31px;height:31px;position:relative;z-index:1;display:grid;place-items:center;background:transparent!important;color:var(--muted)!important;box-shadow:none!important}
html[data-theme="dark"] .theme-toggle .theme-moon,html[data-theme="light"] .theme-toggle .theme-sun{color:#fff!important}
html[data-theme="light"] .theme-toggle::before{left:5px}
@media(max-width:690px){.topbar .theme-toggle{width:72px;min-width:72px;padding:3px;gap:0}.topbar .theme-toggle>span{width:28px;height:28px}.topbar .theme-toggle::before{top:3px;left:36px;width:28px;height:28px}html[data-theme="light"] .topbar .theme-toggle::before{left:3px}}
/* No useless search bar on the home page; settings still accessible via top-right icon. */
.topbar.topbar-home{justify-content:flex-end}
.topbar.topbar-home .search-control{display:none}
#profile-top>.ico{height:20px;width:20px}
/* Exact centering of the leading '+' on the video upload action. */
#new-video,#empty-new-video{display:inline-flex;align-items:center;justify-content:center;gap:9px;line-height:1.25}
#new-video .ico,#empty-new-video .ico{display:inline-block;vertical-align:middle;width:18px;height:18px;min-width:18px;min-height:18px;flex:0 0 18px;margin:0;align-self:center}
.roulette-wrap{overflow:hidden;overscroll-behavior:contain;max-width:100%;}


/* v0.3.5 – recherche uniquement là où elle sert et accueil lisible sur tous les fonds */
.topbar.topbar-home,.topbar.topbar-no-search{justify-content:flex-end}
.topbar.topbar-home .search-control{display:flex}
.topbar.topbar-no-search .search-control{display:none}
/* Les couleurs principales des cartes dépendent des variables de la palette utilisateur. */
.tile{
  background:linear-gradient(135deg,color-mix(in srgb,var(--panel2) 78%,var(--tile1) 22%),var(--panel));
  border-color:var(--line);
  color:var(--text);
}
.tile:hover{border-color:var(--accent)}
.tile-bottom small{color:var(--muted)}
.tile>.badge-icon{
  color:var(--text);
  background:color-mix(in srgb,var(--panel) 85%,var(--accent) 15%);
  border-color:color-mix(in srgb,var(--line) 80%,var(--accent) 20%);
}
.tile-arrow{color:var(--text);background:color-mix(in srgb,var(--panel) 80%,var(--accent) 20%);border-color:var(--line)}
/* Sur les fonds clairs, texte sombre et léger accent chromatique seulement. */
html[data-theme="light"] .tile{
  color:var(--text);
  background:linear-gradient(140deg,color-mix(in srgb,var(--panel2) 82%,var(--accent) 18%),var(--panel) 88%);
  border-color:var(--line);
}
html[data-theme="light"] .tile-bottom strong{color:var(--text)}
html[data-theme="light"] .tile-bottom small{color:var(--muted)}
html[data-theme="light"] .tile-arrow{
  background:color-mix(in srgb,var(--panel2) 82%,var(--accent) 18%);
  border-color:var(--line);color:var(--text);
}
html[data-theme="light"] .tile>.badge-icon{
  background:color-mix(in srgb,var(--panel2) 90%,var(--accent) 10%);
  border-color:var(--line);color:var(--text);
}
/* Le lecteur compact de l'accueil n'a plus de pochette (la page Radio la conserve). */
.radio-card-compact{justify-content:flex-start;gap:10px}
.radio-card-compact .track{margin-top:auto;font-size:19px}
.radio-card-compact .artist{margin-bottom:4px}
.radio-card-compact .audio-line{margin-top:28px}
.radio-card-compact .radio-message{margin-bottom:auto}
.home-side .home-members{color:var(--text)}
@media(max-width:1150px){.radio-card-compact .track{margin-top:25px}.radio-card-compact .radio-message{margin-bottom:10px}}
/* Sans pochette, recentrer le lecteur compact dans sa carte sans laisser un vide en haut. */
.radio-card-compact{position:relative;justify-content:center;gap:12px;padding-top:62px!important;padding-bottom:48px!important}
.radio-card-compact>.section-top{position:absolute;top:18px;left:20px;width:calc(100% - 40px)!important;margin-bottom:0}
.radio-card-compact .track{margin:0 0 1px}
.radio-card-compact .artist{margin:0 0 9px}
.radio-card-compact .audio-line{margin-top:14px}
.radio-card-compact .player-buttons{margin:10px 0 3px}
.radio-card-compact .radio-message{margin:2px 0 0}
@media(max-width:1150px){.radio-card-compact{min-height:300px!important;padding-block:75px 35px!important}}


/* Administration privée — suit les couleurs dynamiques et la grille ZOO Web */
.admin-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.admin-summary .panel{padding:18px;display:flex;flex-direction:column;gap:8px;min-width:0}
.admin-summary small,.admin-section p,.admin-row small{color:var(--muted)}
.admin-summary strong{font-size:clamp(20px,2vw,29px);color:var(--text)}
.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.admin-section{padding:22px;min-width:0}
.admin-section h2{font-size:18px;display:flex;align-items:center;gap:11px;margin:0 0 15px}
.admin-section h2 .ico{width:21px;height:21px;color:var(--accent2)}
.admin-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid var(--line)}
.admin-row>div{min-width:0;overflow:hidden}
.admin-row strong,.admin-row small{display:block;overflow-wrap:anywhere}
.admin-row small{font-size:12px;margin-top:3px}
.admin-row .btn{min-width:95px;flex-shrink:0}
.admin-remove{border-color:color-mix(in srgb,#d6656c 55%,var(--line));color:var(--text)}
.admin-accounts{display:flex;flex-wrap:wrap;gap:10px}
.admin-account{display:inline-flex;align-items:center;gap:9px;padding:6px 10px;border:1px solid var(--line);border-radius:9px;background:var(--panel2)}
.admin-account .avatar{width:28px;height:28px;font-size:13px}
@media(max-width:1000px){.admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:500px){.admin-summary{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.admin-section{padding:14px}.admin-row{flex-wrap:wrap}.admin-row .btn{margin-left:auto}}

/* v0.3.7 — Mode de vérification Riot hors saison */
.draft-mode-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px;padding:11px 15px;border:1px solid var(--line);border-radius:12px;background:var(--panel);font-size:12px;color:var(--text)}
.draft-mode-option{display:inline-flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap;color:var(--muted)}
.draft-mode-option input{accent-color:var(--accent)}
.draft-help{font-size:12px;color:var(--muted);line-height:1.55;margin:10px 0 12px}
.test-result-row{gap:10px;align-items:center}
.test-result-row>div{display:grid;gap:3px;min-width:0}
.test-result-row small{display:block;color:var(--muted);font-size:11px}
.test-status{display:inline-flex;border:1px solid var(--line);padding:6px 10px;border-radius:99px;white-space:nowrap;color:var(--muted);font-size:11px}
.test-status-validated{border-color:#248c76;color:#28a586}.test-status-ignored{border-color:#c37474;color:#d87070}
@media(max-width:620px){.draft-mode-strip{align-items:flex-start;flex-direction:column}}

/* v0.3.8 — Comptes Riot multiples, rerolls et historique permanent */
.draft-reroll-control{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;padding:14px 18px;margin:8px 0 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--muted);font-size:13px}
.draft-reroll-control .btn{font-size:12px;min-height:37px}
.draft-reroll-control .btn:disabled{opacity:.4;cursor:not-allowed}
.reroll-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.reroll-choices .btn{padding:12px 8px;white-space:normal;min-height:49px}
.riot-account-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:11px;background:var(--panel2);padding:12px;margin:9px 0}
.riot-account-row>div{min-width:0;display:grid;gap:4px;overflow-wrap:anywhere}
.riot-account-row small{font-size:11px;color:var(--muted)}
.riot-account-row .btn{flex-shrink:0}
.draft-career-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 25px}
.draft-career-stats>div{display:flex;align-items:center;flex-direction:column;gap:7px;text-align:center;border:1px solid var(--line);padding:14px 8px;border-radius:12px;background:var(--panel2);min-width:0}
.draft-career-stats strong{font-size:clamp(21px,2vw,28px);color:var(--text)}
.draft-career-stats small{font-size:11px;color:var(--muted)}
@media(max-width:620px){.reroll-choices{grid-template-columns:1fr}.draft-career-stats{gap:5px}.draft-career-stats>div{padding:10px 4px}.draft-career-stats small{font-size:9px}}

/* Random Draft v0.4 : statistiques et saisons, même palette que ZOO Web. */
.draft-tabs{flex-wrap:wrap}
.draft-tabs .btn{min-width:clamp(110px,12vw,170px)}
.zoo-stats-layout,.zoo-season-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--content-gap);margin-bottom:16px}
.zoo-stats-card{padding:22px;min-width:0;overflow:hidden}
.zoo-stats-card h2{font-size:20px;margin:0 0 7px}
.zoo-stats-card h3{font-size:15px;margin:22px 0 12px}
.zoo-stats-card p{color:var(--muted);font-size:12px;line-height:1.65}
.zoo-role-stats{display:grid;grid-template-columns:85px minmax(0,1fr) 125px;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}
.zoo-role-stats span{text-align:right;color:var(--muted)}
.zoo-track{height:8px;background:var(--panel2);border-radius:10px;overflow:hidden;border:1px solid var(--line)}
.zoo-track i{display:block;height:100%;border-radius:inherit;background:var(--accent)}
.zoo-mastery{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:11px 0}
.zoo-mastery img{width:46px;height:46px;border-radius:10px;border:1px solid var(--line);object-fit:cover}
.zoo-mastery>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.zoo-mastery span,.zoo-mastery small{font-size:11px;color:var(--muted)}
.zoo-season-head{display:flex;justify-content:space-between;align-items:start;gap:12px}
.zoo-leader-row{display:grid;grid-template-columns:25px minmax(80px,1fr) minmax(110px,auto) 90px;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);align-items:center;font-size:12px}
.zoo-leader-row span{color:var(--muted)}.zoo-leader-row b{text-align:right;color:var(--text)}
.zoo-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.zoo-category{display:flex;flex-direction:column;gap:7px;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);font-size:12px;min-width:0}
.zoo-category span{color:var(--muted)}.zoo-category strong{overflow-wrap:anywhere}
.zoo-hall-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.zoo-hall-row span{color:var(--muted)}
@media(max-width:1000px){.zoo-stats-layout,.zoo-season-layout{grid-template-columns:1fr}}
@media(max-width:600px){.zoo-role-stats{grid-template-columns:55px minmax(0,1fr) 88px;gap:6px}.zoo-stats-card{padding:15px}.zoo-leader-row{grid-template-columns:20px 1fr 64px}.zoo-leader-row span:nth-of-type(2){display:none}.zoo-categories{grid-template-columns:1fr}}

.zoo-penalty-form{display:grid;gap:10px}.zoo-penalty-form label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12px}.zoo-penalty-form input,.zoo-penalty-form select{width:100%;max-width:100%;background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:9px;padding:10px}.zoo-penalty-form button{justify-self:start}

.zoo-penalty-history{border-bottom:1px solid var(--line);padding:8px 0;font-size:12px}

/* v0.4.3 — Éléments discrets : compte à rebours, sauvegardes, journal. */
.zoo-season-countdown{margin:16px 0 20px;border:1px solid var(--line);border-radius:12px;background:var(--input);padding:16px 18px;display:grid;gap:12px}
.zoo-countdown-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.zoo-countdown-top>span{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.zoo-countdown-top>strong{font-size:21px;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.zoo-countdown-track{height:6px;overflow:hidden;border-radius:99px;background:var(--line)}
.zoo-countdown-track>span{display:block;height:100%;border-radius:99px;background:var(--accent);transition:width .25s}
.zoo-provisional{display:flex;gap:8px;justify-content:space-between;align-items:center;flex-wrap:wrap;font-size:12px}
.zoo-provisional>span{display:inline-flex;align-items:center;gap:7px;color:var(--muted)}
.zoo-provisional .ico{width:16px;height:16px}
.zoo-provisional strong{font-size:13px}
.zoo-backup-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.zoo-backup-error{color:#e89999!important}
.zoo-updates-list{max-width:980px;display:grid;gap:14px}
.zoo-update-card{padding:23px 26px}
.zoo-update-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;font-size:12px}
.zoo-version-tag{color:var(--accent2);font-weight:750;border:1px solid var(--accent);border-radius:8px;background:var(--accent-subtle);padding:5px 10px}
.zoo-latest-tag{font-weight:650;color:var(--muted)}
.zoo-update-header time{margin-left:auto;color:var(--muted)}
.zoo-update-card h2{font-size:19px;margin:0 0 10px}
.zoo-update-card ul{margin:0;padding-left:19px;display:grid;gap:8px;color:var(--muted);font-size:13px;line-height:1.55}
@media(max-width:690px){.zoo-season-countdown{padding:13px}.zoo-countdown-top>strong{font-size:19px}.zoo-update-card{padding:18px}}

/* v0.4.7 — retirer les filets décoratifs des icônes et avatars. */
.avatar,#profile-top,.profile-side .avatar,.member-card .avatar{border:0!important;outline:0!important;box-shadow:none!important}
#profile-top>.avatar{border:0!important;outline:0!important;box-shadow:none!important}
.tile>.badge-icon{border:0!important}

/* Correctif visuel lancement — photo Discord dans la barre supérieure.
   Le bouton externe etait lui-meme un .avatar avec fond bleu, derriere la vraie photo. */
#profile-top{
  padding:0;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
#profile-top > .avatar{
  width:100%;
  height:100%;
  border-radius:50%;
  background-position:center;
  background-size:cover;
}
#profile-top:focus-visible{
  outline:2px solid var(--accent)!important;
  outline-offset:3px;
}
