/* Refonte graphique V1 : surcharge de Stuff.css, sans changer la structure du forum. Retirer le lien dans header.php pour revenir en arriere. */
:root {
    --r-bg: #181b1d;
    --r-surface: #202426;
    --r-surface2: #25292b;
    --r-hover: #2b3032;
    --r-line: #30353a;
    --r-text: #e8ebe6;
    --r-soft: #bcc3ba;
    --r-muted: #aeb6ac;
    --r-accent: #a9d159;
    --r-accent2: #bfe375;
    --r-radius: 13px;
    --r-sans: Inter, "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
    --r-mono: ui-monospace, "Cascadia Code", Consolas, Menlo, monospace;
}

html, body { background: var(--r-bg) !important; }
body { font-family: var(--r-sans) !important; color: var(--r-text); -webkit-font-smoothing: antialiased; }
.pun, .pun input, .pun select, .pun textarea, .pun button, .pun table { font-family: var(--r-sans) !important; }
.pun { font-size: 15px !important; line-height: 1.55; color: var(--r-text); }

/* Liens */
.pun a:link, .pun a:visited { color: var(--r-text); text-decoration: none; }
.pun a:hover, .pun a:active { color: var(--r-accent2); text-decoration: none; }
.pun .postmsg a:link, .pun .postmsg a:visited, .pun .usercontacts a:link, .pun .usercontacts a:visited, .pun .crumbs a:link, .pun .crumbs a:visited { color: var(--r-accent); }
.pun .postmsg a:hover { color: var(--r-accent2); text-decoration: underline; }

/* Titres */
.pun h1, #brdmain > h1 { margin: 4px 0 18px !important; padding: 0 !important; background: none !important; border: 0 !important; color: var(--r-text) !important; font-size: 26px !important; line-height: 1.2 !important; letter-spacing: -.02em; font-weight: 700 !important; }
.pun h2 { background: none !important; border: 0 !important; color: var(--r-accent) !important; font-size: 15px !important; font-weight: 600 !important; padding: 0 2px 9px !important; }
.pun h2 span { color: inherit; }

/* Blocs */
.pun .block, .pun .blocktable, .pun .blockform { margin-bottom: 22px; }
.pun .box { background: var(--r-surface) !important; border: 1px solid var(--r-line) !important; border-radius: var(--r-radius); overflow: hidden; }
.pun .inbox, .pun .inform { background: transparent !important; }
.pun table, .pun td, .pun th, .pun tr { background: transparent !important; border-color: var(--r-line) !important; }
.pun fieldset { border: 1px solid var(--r-line) !important; border-radius: 10px; }
.pun legend { color: var(--r-accent); font-weight: 600; }
.pun hr { background: var(--r-line) !important; height: 1px; border: 0; }

/* En-tete et bandeau */
#brdheader .box { background: transparent !important; border: 0 !important; overflow: visible; }
#logo a { color: var(--r-text) !important; }

/* Menu lateral */
#brdmenu { background: var(--r-surface) !important; border-right: 1px solid var(--r-line) !important; }
.nav-links { gap: 2px !important; padding-top: 12px !important; }
.nav-links li { padding: 0 !important; border-radius: 9px !important; }
.nav-links li.isactive, .nav-links li:hover { background: var(--r-hover) !important; }
.nav-links a, #brdmenu a:link, #brdmenu a:visited { display: flex; align-items: center; gap: 11px; min-height: 44px; padding: 0 11px; color: var(--r-soft) !important; font-size: 15px !important; font-weight: 500; }
.nav-links li.isactive a, .nav-links a:hover { color: #fff !important; }
.nav-links i { width: 18px; text-align: center; }

/* Listes de forums et de sujets */
.pun .blocktable td, .pun .blocktable th { background: transparent !important; padding: 12px 16px !important; border-width: 0 0 0 0 !important; border-top: 1px solid #2c3134 !important; vertical-align: middle; }
.pun .blocktable tr:first-child td { border-top: 0 !important; }
.pun .blocktable thead th { border-top: 0 !important; color: var(--r-muted) !important; font-size: 13px; font-weight: 500; }
.pun .blocktable tbody tr:hover td { background: #262b2d !important; }
.pun .blocktable .tclcon { padding: 0 !important; min-height: 0; border: 0 !important; }
.pun .blocktable .tclcon div { width: 100% !important; overflow: visible !important; white-space: normal !important; }
.pun .blocktable .tclcon, .pun .blocktable .tclcon a { font-size: 16px; }
.pun .blocktable .tclcon a { color: var(--r-text) !important; font-weight: 600; }
.pun .blocktable .tclcon .byuser, .pun .blocktable .tclcon .byuser a { color: var(--r-muted) !important; font-size: 13.5px; font-weight: 400; }
.pun .blocktable .tcl { position: relative; padding-left: 34px !important; }
.pun .blocktable .icon { position: absolute !important; left: 14px; top: 20px; width: 9px !important; height: 9px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 50%; background: #4a5151 !important; }
.pun .blocktable .inew .icon, .pun .blocktable tr.inew .icon { background: var(--r-accent) !important; }
.pun .blocktable .icon .nosize { display: none; }
#vf > h2 { display: none; }
.pun .blocktable .tclcon h3 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 16px; margin: 0 !important; color: var(--r-muted); font-size: 16px !important; font-weight: 500; }
.pun .blocktable .tclcon h3 > a { flex: 1 1 260px; min-width: 0; font-weight: 600; }
.pun .tclcon .fstat { width: 150px; color: var(--r-muted); font-size: 14px; white-space: nowrap; }
.pun .tclcon .fstat i { margin: 0 3px 0 8px; font-size: 12px; opacity: .7; }
.pun .tclcon .fstat i:first-child { margin-left: 0; }
.pun .tclcon .flast { flex: 0 1 240px; min-width: 150px; color: var(--r-muted); font-size: 14px; }
.pun .tclcon .flast i { margin-right: 4px; font-size: 12px; opacity: .7; }
.pun .forumdesc { margin-top: 3px; color: var(--r-muted) !important; font-size: 14px; }
.pun .forumdesc img { width: 22px !important; height: 22px !important; margin: 1px 9px 0 0 !important; }
.pun .forumdesc br:first-of-type { display: none; }
.pun .byuser { color: var(--r-muted); }
.pun .tcr, .pun .tc2, .pun .tc3 { color: var(--r-muted) !important; font-size: 14px; }

/* Messages */
.pun .blockpost { margin-bottom: 14px; }
.pun .blockpost > h2 { display: block; padding: 0 2px 7px !important; color: var(--r-muted) !important; font-size: 13px !important; font-weight: 500 !important; }
.pun .blockpost h2 .conr { color: var(--r-muted); }
.pun .postleft, .pun .postfootleft { background: var(--r-surface2) !important; color: var(--r-soft); }
.pun .postright, .pun .postfootright { border-color: var(--r-line) !important; background: transparent !important; }
.pun .postleft dt strong { font-size: 16px; }
.pun .postavatar img { width: 96px !important; height: 96px !important; object-fit: cover; border-radius: 12px !important; margin-left: 0 !important; }
.pun .usertitle strong { color: var(--r-soft); font-weight: 500; font-size: 13px; }
.pun .postleft dd { color: var(--r-muted); font-size: 13px; }
.pun .postright h3 { color: var(--r-muted) !important; font-size: 13px !important; font-weight: 500; margin-bottom: 10px; }
.pun .postmsg, .pun .postmsg p { color: var(--r-text) !important; font-size: 16px !important; line-height: 1.65 !important; }
.pun .postedit em { color: var(--r-muted); font-size: 13px; }
.pun .postsignature { color: var(--r-muted) !important; font-size: 13px !important; opacity: .9; }
.pun .postsignature p { font-size: 13px !important; color: var(--r-muted) !important; }
.pun .quotebox { background: #2a2f31 !important; border: 0 !important; border-radius: 9px; color: #c9cec7 !important; }
.pun .quotebox cite { color: var(--r-muted) !important; font-style: normal; font-size: 13px; font-weight: 600; }
.pun .quotebox p, .pun .quotebox blockquote { color: #c9cec7 !important; font-size: 15px !important; }
.pun .codebox { background: #121416 !important; border: 1px solid var(--r-line) !important; border-radius: 9px; }
.pun .codebox pre, .pun .codebox code { font-family: var(--r-mono) !important; font-size: 13.5px !important; background: none !important; color: #dde2da !important; }
.pun .mention { border-radius: 7px !important; background: var(--r-hover) !important; color: var(--r-soft) !important; font-weight: 500 !important; }
.pun .mention:hover { color: #fff !important; }

/* Formulaires et boutons */
.pun input[type="text"], .pun input[type="password"], .pun input[type="email"], .pun input[type="search"], .pun select, .pun textarea { border: 1px solid #3a4144 !important; border-radius: 9px; background: #181b1d !important; color: var(--r-text) !important; padding: 9px 11px; }
.pun input:focus, .pun textarea:focus, .pun select:focus { outline: 2px solid var(--r-accent); outline-offset: 1px; }
.pun input[type="submit"], .pun button.primary { min-height: 42px; padding: 0 18px; border: 0 !important; border-radius: 9px; background: var(--r-accent) !important; color: #141a08 !important; font-weight: 700; cursor: pointer; }
.pun input[type="submit"]:hover { background: var(--r-accent2) !important; }

/* Pagination et fil d'Ariane */
.pun .crumbs, .pun .pagelink { color: var(--r-muted); font-size: 14px; }
.pun .pagelink a, .pun .pagelink strong { display: inline-block; min-width: 28px; padding: 2px 8px; border-radius: 7px; text-align: center; }
.pun .pagelink a:hover { background: var(--r-hover); }
.pun .pagelink strong { background: var(--r-accent); color: #141a08; }

/* Pied de page */
#brdfooter, #brdstats { color: var(--r-muted); }
#brdstats dl, #brdstats dd, #brdstats dt { color: var(--r-muted) !important; }
#brdstats strong { color: var(--r-text); }

/* Couleurs des grades : les plus sombres restent lisibles sur le fond */
.gid0, .gid3 { color: #9aa097 !important; }

/* Messages : colonne auteur d'un seul tenant */
.pun .postleft, .pun .postfootleft { background: transparent !important; }

.pun h1 + br { display: none; }
.pun .postsignature, .pun .postmsg, .pun .postfootright, .pun .postfootleft, .pun .postfoot { background: transparent !important; }
.pun .postsignature hr { background: var(--r-line) !important; }
.pun .geshicodebox, .pun .geshicodebox div, .pun .geshicodebox pre, .pun .geshicodebox ol, .pun .geshicodebox li { background: #121416 !important; color: #dde2da !important; border-color: var(--r-line) !important; font-family: var(--r-mono) !important; font-size: 13.5px !important; }
.pun .geshicodebox { border: 1px solid var(--r-line) !important; border-radius: 9px; overflow: auto; }
[id^="like_counter_"] { display: inline-flex !important; align-items: center; justify-content: center; min-width: 26px; height: 26px; margin-right: 6px !important; padding: 0 7px !important; border-radius: 13px !important; background: var(--r-hover) !important; color: var(--r-text) !important; font-size: 13px !important; font-weight: 600; float: none !important; }

/* Actions d'un message et bouton Repondre */
.pun .postfootright ul { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; padding: 6px 10px !important; }
.pun .postfootright li { display: inline-flex; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.pun .postfootright li::before, .pun .postfootright li::after, .pun .postfootright li span::before { content: none !important; }
.pun .postfootright li span { display: inline-flex; }
.pun .postfootright a:link, .pun .postfootright a:visited { padding: 7px 11px; border-radius: 8px; color: var(--r-soft) !important; font-weight: 500; font-size: 14px; }
.pun .postfootright a:hover { background: var(--r-hover); color: #fff !important; }
.pun .postlink, .pun p.postlink { padding: 0 !important; background: none !important; }
.pun .postlink a:link, .pun .postlink a:visited { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 9px; background: var(--r-accent); color: #141a08 !important; font-weight: 700; }
.pun .postlink a:hover { background: var(--r-accent2); }

/* Formulaires : texte lisible, boutons de mise en forme */
.pun .inform p, .pun .infldset p, .pun .infldset label, .pun .infldset .usercontent, .pun .blockform .box p { font-size: 14px; line-height: 1.5; }
.pun input[type="button"] { min-height: 30px; padding: 0 10px; border: 1px solid #3a4144 !important; border-radius: 7px; background: var(--r-hover) !important; color: var(--r-soft) !important; font-weight: 600; cursor: pointer; }
.pun input[type="button"]:hover { color: #fff !important; border-color: var(--r-accent) !important; }
.pun input[type="checkbox"], .pun input[type="radio"] { accent-color: var(--r-accent); }

/* Menus de profil, messagerie et administration */
.pun .blockmenu .box { background: var(--r-surface) !important; padding: 6px; }
.pun .blockmenu .inbox { background: transparent !important; padding: 0 !important; }
.pun .blockmenu li { margin: 0 !important; padding: 0 !important; }
.pun .blockmenu a:link, .pun .blockmenu a:visited { display: block; padding: 8px 10px; border-radius: 8px; color: var(--r-soft) !important; font-size: 14px; font-weight: 500; }
.pun .blockmenu a:hover { background: var(--r-hover); color: #fff !important; }
.pun .blockmenu li.isactive a { background: var(--r-hover); color: var(--r-accent) !important; }
.pun .blockmenu h2, .pun .adminconsole h2 { color: var(--r-muted) !important; font-size: 13px !important; }

/* Bas de page : pas de cadres vides, statistiques a plat */
#brdstats { background: none !important; padding: 0 !important; border: 0 !important; }
#brdfooter .box { background: none !important; border: 0 !important; }
#brdfooter #modcontrols, #brdfooter .conl, #brdfooter .conr { color: var(--r-muted); font-size: 13px; }
#brdstats dd, #brdstats dt { font-size: 14px; line-height: 1.8; }
#onlinelist { margin-top: 8px; }
#onlinelist dt, #onlinelist dd { margin-right: 8px; }

/* Menu lateral et barres de defilement */
:root { color-scheme: dark; }
.pun a.jump, .pun .pagelink .spacer { color: var(--r-muted); }

/* Messages : auteur en en-tete compact, le message court reste court, toutes les infos restent */
.pun .postbody { display: block; }
.pun .blockpost .postleft { float: none !important; width: 100% !important; min-height: 0; padding: 0 !important; border-bottom: 1px solid var(--r-line); }
.pun .blockpost .postright { float: none !important; width: auto !important; margin: 0 !important; border-left: 0 !important; padding: 12px 18px !important; }
.pun .blockpost .postleft dl { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 12px; margin: 0 !important; padding: 9px 14px !important; }
.pun .blockpost .postleft dt { order: 2; margin: 0 !important; padding: 0 !important; float: none; }
.pun .blockpost .postleft dd { order: 4; margin: 0 !important; padding: 0 !important; float: none; background: transparent !important; font-size: 12.5px !important; line-height: 1.5; }
.pun .blockpost .postleft .postavatar { order: 1; }
.pun .blockpost .postleft .usertitle { order: 3; }
.pun .blockpost .postavatar img { display: block; float: none !important; width: 40px !important; height: 40px !important; margin: 0 !important; border-radius: 9px !important; }
.pun .usertitle strong { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 2px 5px; }
.pun .usertitle br { display: none; }
.pun .usertitle img { width: 22px !important; height: 22px !important; margin: 0 !important; vertical-align: middle; }
.pun .postleft dd br { display: none; }
.pun .postleft dd .not4mobile[style], .pun .postleft dd div[style] { display: inline-block !important; width: auto !important; margin: 0 4px 0 0 !important; padding: 0 7px !important; border-radius: 6px !important; font-size: 11.5px !important; vertical-align: middle; }
.pun .postleft .mention { float: none !important; display: inline-block !important; width: auto !important; height: auto !important; margin: 0 0 0 8px !important; padding: 1px 8px !important; line-height: 1.5 !important; }
.pun .postfootleft { float: left !important; width: auto !important; padding: 8px 14px !important; }
.pun .postfootleft dl, .pun .postfootleft p { margin: 0 !important; padding: 0 !important; font-size: 13px; }
.pun .blockpost .postfootright { float: none !important; border-left: 0 !important; margin: 0 !important; }
.pun .postfoot { border-top: 1px solid var(--r-line); }

/* Colonne d'infos des discussions */
.topic-layout { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 0 20px; }
.topic-main { flex: 999 1 620px; min-width: 0; }
.topic-side { flex: 1 1 250px; min-width: 0; max-width: 100%; position: sticky; top: 16px; display: flex; flex-direction: column; gap: 12px; margin: 24px 0 14px; }
.pun .topic-panel { padding: 13px 15px; background: var(--r-surface); border: 1px solid var(--r-line); border-radius: var(--r-radius); }
.pun .topic-panel-title { margin: 0 0 7px; color: var(--r-accent); font-size: 14px; font-weight: 600; }
.pun .topic-stat { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; border-top: 1px solid #2c3134; color: var(--r-muted); font-size: 13.5px; }
.topic-stat:first-of-type { border-top: 0; }
.topic-stat b { color: var(--r-text); font-weight: 600; text-align: right; }
.pun .topic-panel h2 { margin: 0 !important; padding: 6px 0 !important; border-top: 1px solid #2c3134 !important; color: var(--r-text) !important; font-size: 13.5px !important; font-weight: 500 !important; line-height: 1.35; }
.pun .topic-panel-title + h2 { border-top: 0 !important; }

/* Discussions actives de l'accueil : sujet a gauche, date du dernier message a droite */
.latest-row { display: flex; justify-content: space-between; gap: 14px; padding: 4px 0; }
.latest-date { flex: none; color: var(--r-muted); font-size: 12.5px; }

/* Sujets similaires et derniers sujets */
#relatedtopics h2 { padding: 4px 0 !important; color: var(--r-text) !important; }
#relatedtopics h2 a:hover, #brdlatest a:hover { color: var(--r-accent2); }
#brdlatest a { font-weight: 500; }

@media only screen and (max-width: 1080px) {
    .pun .postavatar img { width: 65px !important; height: 65px !important; }
    .pun .postleft, .pun .postfootleft { background: var(--r-surface2) !important; }
    .pun .postleft .postavatar, .pun .postleft .usertitle { background: transparent !important; }
    .pun .punwrap { padding: 0 10px !important; box-sizing: border-box; }
    .pun .blocktable table { display: block; width: 100% !important; table-layout: auto !important; }
    .pun .blocktable tbody, .pun .blocktable tr { display: block; width: 100%; }
    .pun .blocktable thead { display: none; }
    .pun .blocktable td.tcl { display: block; width: 100% !important; box-sizing: border-box; }
    .pun .blocktable .tclcon, .pun .blocktable .tclcon > div, .pun .blocktable .tclcon h3 { width: 100% !important; max-width: 100%; margin-left: 0 !important; box-sizing: border-box; }
    .pun .blocktable .tclcon h3 > a { flex: 1 1 100%; white-space: normal !important; overflow-wrap: anywhere; }
    .pun .tclcon .fstat { white-space: normal; }
    .pun .tclcon .flast { flex: 1 1 100%; }
    .pun .blocktable td, .pun .blocktable th { padding: 11px 12px !important; }
    .pun .tclcon .fstat, .pun .tclcon .flast { width: auto; flex: 0 1 auto; min-width: 0; }
    .pun h1, #brdmain > h1 { font-size: 22px !important; }
    .pun .postmsg, .pun .postmsg p { font-size: 15.5px !important; }
}

/* Pages de redirection et de maintenance : une carte centree */
#punredirect, #punmaint { display: flex; align-items: center; justify-content: center; min-height: 100vh; width: auto !important; max-width: none !important; margin: 0 !important; padding: 16px !important; box-sizing: border-box; background: transparent !important; }
#punredirect .punwrap, #punmaint .punwrap { width: 100%; max-width: 460px; margin: 0 !important; padding: 0 !important; background: transparent !important; }
#punredirect .top-box, #punredirect .end-box, #punmaint .top-box, #punmaint .end-box { display: none; }
#punredirect #brdmain, #punmaint #brdmain { width: auto !important; margin: 0 !important; padding: 0 !important; }
#punredirect .block, #punmaint .block { margin: 0 !important; padding: 0 !important; background: transparent !important; }
#punredirect h2, #punmaint h2 { margin: 0 0 10px !important; padding: 0 !important; background: transparent !important; border: 0 !important; color: var(--r-accent) !important; font-size: 17px !important; font-weight: 600 !important; }
#punredirect .box, #punmaint .box { padding: 18px 20px !important; background: var(--r-surface) !important; border: 1px solid var(--r-line) !important; border-radius: var(--r-radius) !important; }
#punredirect .inbox, #punmaint .inbox { padding: 0 !important; background: transparent !important; }
#punredirect p, #punmaint p { margin: 0 !important; padding: 0 !important; color: var(--r-text) !important; font-size: 15px; line-height: 1.55; }
#punredirect a, #punmaint a { color: var(--r-accent) !important; }

