/*
Theme Name: Brain Override
Description: Le site de Christophe Casalegno / Brain Override. Parchemin clair et sombre, ressources locales.
Author: Christophe Casalegno / Brain 0verride
Version: 2.2.4
Requires at least: 6.7
Requires PHP: 8.0
Text Domain: brain-override
*/
:root {
  --ink:#ece3cd; --muted:#c7c2ae; --accent:#dbb781; --line:#c6a46d45;
  --paper:#2d281f; --paper-alt:#27241d; --green:#acd0b8;
  --serif:Georgia,"Times New Roman",serif;
  --sans:Arial,Helvetica,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;
  color-scheme:dark;
}
html[data-theme="light"] {
  --ink:#302719; --muted:#392d1b; --accent:#34301c; --line:#70563355;
  --paper:#c7ab79; --paper-alt:#c0a371; --green:#173322;
  color-scheme:light;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:25px; }
body { margin:0; background:#17150f; color:var(--ink); font:17px/1.6 var(--serif); }
a { color:inherit; text-decoration:none; }
a:hover { color:var(--green); }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; }
button[hidden] { display:none!important; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible {
  outline:2px solid var(--green); outline-offset:4px;
}
img { max-width:100%; height:auto; }
.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; z-index:100; top:10px; left:10px; transform:translateY(-180%); padding:12px 20px; background:#24382b; color:#f4ead3; font:14px var(--sans); }
.skip-link:focus { transform:none; }
.atelier-room { position:absolute; top:0; left:0; right:0; height:1050px; pointer-events:none; background:linear-gradient(#10181259,#17150fb5 72%,#17150f),url("assets/scene-atelier.webp") center top/cover no-repeat; }
.atelier-workshop { position:relative; width:min(1260px,100%); margin:auto; padding:0 42px; }
.atelier-masthead { display:flex; align-items:center; gap:26px; min-height:146px; padding:15px 15px; color:#ece3cd; }
.atelier-nameplate { flex-shrink:0; display:flex; align-items:center; gap:15px; padding:12px 18px; background:linear-gradient(115deg,#454032,#252e28 48%,#30362b); border:1px solid #9b825b; border-radius:2px; box-shadow:0 5px 12px #0006,inset 0 0 0 3px #151c17,inset 0 0 0 4px #8b764d66; }
.atelier-wordmark { display:block; width:146px; height:auto; filter:drop-shadow(0 1px 1px #0008); }
.atelier-nameplate:hover { border-color:#d7b77f; }
/* The surrounding workshop stays dark in both paper modes. */
.atelier-masthead :focus-visible,.atelier-navigation :focus-visible,.atelier-footer :focus-visible,.skip-link:focus { outline-color:#e6c58c; }
.atelier-nameplate i { flex-shrink:0; width:5px; height:5px; border:1px solid #b19a71; border-radius:50%; background:#706748; }
.atelier-identity { display:flex; flex-direction:column; gap:8px; max-width:490px; font:11px/1.5 var(--mono); letter-spacing:1.4px; }
.atelier-identity>span:first-child { text-transform:uppercase; }
.atelier-identity>span:last-child { font-size:10px; letter-spacing:.4px; }
.atelier-identity i { width:33px; height:1px; background:#ad9464; }
.atelier-tools { margin-left:auto; display:flex; align-items:center; gap:23px; }
.atelier-tools time { font:10px var(--mono); letter-spacing:1px; white-space:nowrap; }
.atelier-theme-toggle { display:flex; align-items:center; justify-content:center; gap:10px; background:#1c201bdf; color:#e8ddc1; border:1px solid #b59a6866; border-radius:3px; min-width:96px; min-height:46px; padding:8px 13px; font:11px var(--mono); }
.theme-icon { font:23px/1 var(--serif); }
.atelier-theme-toggle:hover { background:#354134; }
.atelier-navigation { display:flex; align-items:flex-end; gap:16px; position:relative; z-index:10; margin:0 15px; }
.atelier-navigation nav { flex:1; min-width:0; }
.atelier-menu { display:flex; gap:4px; padding:0; margin:0; list-style:none; }
.atelier-menu>li { position:relative; display:flex; align-items:center; background:linear-gradient(#394330,#2c3429); border:1px solid #a492634f; border-bottom:0; border-radius:3px 3px 0 0; color:#e3dcc5; }
.atelier-menu>li>a { display:block; padding:13px 14px; font:12px/1.5 var(--mono); white-space:nowrap; }
.atelier-menu>li.current-menu-item,.atelier-menu>li.current-menu-ancestor { background:linear-gradient(#705b3d,#51472e); border-color:#d0b17588; box-shadow:inset 0 2px #c5a56c; color:#fff0cf; }
.atelier-menu a:hover { color:#d1e6d1; }
.atelier-menu .sub-menu { list-style:none; margin:0; padding:7px; background:#292d23; color:#efe4cd; border:1px solid #9a845e; box-shadow:0 10px 16px #0007; min-width:190px; }
.atelier-menu .submenu { display:none; position:absolute; left:-1px; top:100%; }
.atelier-menu>li>.sub-menu { display:none; position:absolute; left:-1px; top:100%; }
.atelier-menu .sub-menu a { display:block; padding:10px; font:12px/1.5 var(--sans); min-height:44px; }
.atelier-menu li:not(.submenu-enhanced):hover>.submenu,.atelier-menu li:not(.submenu-enhanced):focus-within>.submenu,.atelier-menu li.submenu-open>.submenu,
.atelier-menu li:not(.submenu-enhanced):hover>.sub-menu,.atelier-menu li:not(.submenu-enhanced):focus-within>.sub-menu,.atelier-menu li.submenu-open>.sub-menu { display:block; }
.atelier-submenu-toggle { flex-shrink:0; width:44px; min-height:44px; border:0; background:none; color:inherit; padding:4px; }
.atelier-menu-toggle { display:none; }
.atelier-search { display:flex; align-items:center; min-width:0; border-bottom:1px solid #9c8f6459; margin-bottom:6px; width:175px; color:#e9dfc4; }
.atelier-search input { color:inherit; border:0; background:#1d211bc7; width:100%; min-width:0; min-height:44px; padding:11px; font:12px var(--mono); border-radius:0; }
.atelier-search input::placeholder { color:#d2c7ae; opacity:1; }
.atelier-search button { display:grid; place-items:center; flex-shrink:0; width:44px; min-height:44px; background:#1d211bc7; border:0; color:inherit; }
.atelier-search svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.5; }
.atelier-book-top { display:flex; justify-content:space-between; gap:16px; font:9px/1.5 var(--mono); letter-spacing:1px; padding:10px 23px; color:#c7b391; background:#201d17e8; border:1px solid #6c60403d; margin:0 15px; }
.atelier-book-top span:first-child { color:#b7c6b0; letter-spacing:.3px; }
.atelier-binding { position:relative; padding:10px 12px 15px; background:linear-gradient(90deg,#33251a,#493a27 4%,#30271d 48%,#443722 53%,#392b1f 96%,#221d17); border:1px solid #806744; border-radius:4px 7px 7px 3px; box-shadow:0 25px 55px #0009,0 4px 8px #0008,inset 0 0 0 4px #211c16,inset 0 0 0 5px #b08a5355; }
.atelier-binding::before,.atelier-binding::after { content:""; position:absolute; z-index:2; width:25px; height:25px; border:solid #b6a06c; pointer-events:none; }
.atelier-binding::before { top:5px; left:5px; border-width:2px 0 0 2px; }
.atelier-binding::after { bottom:5px; right:5px; border-width:0 2px 2px 0; }
.atelier-paper { border-right:3px solid #a58e61; border-bottom:5px solid #9b8259; min-width:0; background:radial-gradient(ellipse at 24% 15%,#95784a0f,transparent 61%),linear-gradient(90deg,#0e0b073d,transparent 17px calc(100% - 17px),#130d084d),var(--paper); box-shadow:inset 0 0 16px #130d083d,inset 0 1px #c9ab7140; }
html[data-theme="light"] .atelier-paper { background:radial-gradient(ellipse at 99% 12%,#7b451824,transparent 43%),radial-gradient(ellipse at 12% 83%,#90612421,transparent 45%),linear-gradient(90deg,#80502a24,transparent 4% 96%,#65441f29),url("assets/parchment-grain.svg"),var(--paper); }
.content { padding:35px 46px 16px; }
.atelier-running-head { display:flex; justify-content:space-between; border-bottom:1px solid var(--line); padding-bottom:16px; color:var(--muted); font:9px var(--mono); letter-spacing:1px; }
.atelier-front-title { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:29px 0 33px; }
.atelier-front-title h1 { font:normal clamp(36px,4.8vw,64px)/1.08 var(--serif); letter-spacing:-2px; margin:0; }
.atelier-front-title em { font-weight:normal; }
.atelier-front-title h1 span { color:var(--accent); }
.atelier-flourish { font-size:29px; color:var(--accent); }
.block { min-width:0; margin:0 0 28px; }
.page-head { margin-bottom:32px; padding-bottom:27px; border-bottom:1px solid var(--line); }
.page-head h1 { font:normal clamp(30px,3.4vw,48px)/1.12 var(--serif); letter-spacing:-1px; max-width:980px; margin:15px 0 18px; overflow-wrap:anywhere; }
.page-subtitle { font:italic 21px/1.5 var(--serif); color:var(--muted); }
.shell { font:10px/1.6 var(--mono); color:var(--muted); margin:0 0 20px; overflow-wrap:anywhere; }
.shell .cmd { color:var(--accent); }
.page-meta { font:12px/1.7 var(--sans); color:var(--muted); }
.page-meta a { text-decoration:underline; text-underline-offset:3px; }
.layout { display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:38px; }
.layout.sidebar-left { grid-template-columns:240px minmax(0,1fr); }
.layout>.main { min-width:0; }
.layout>.sidebar { min-width:0; padding-left:24px; border-left:1px solid var(--line); }
.layout.sidebar-left>.sidebar { border:0; padding:0 24px 0 0; border-right:1px solid var(--line); }
.home-manuscript .entry-content { max-width:none; }
.home-manuscript .entry-content img.wp-image-4201 { float:left; width:37%; max-width:400px; margin:4px 32px 20px 0!important; padding:7px 7px 14px; border:1px solid #a8956b; background:#91805c; box-shadow:0 6px 12px #0b0b0860; transform:rotate(-1deg); }
.home-manuscript .entry-content a img.wp-image-4201 { cursor:zoom-in; }
.home-manuscript .entry-content a:focus-visible img.wp-image-4201 { outline:2px solid var(--accent); outline-offset:5px; }
.home-manuscript .entry-content p { text-align:left!important; }
.home-manuscript .entry-content>.hr { clear:both; margin-top:44px; }
.atelier-colophon { display:flex; align-items:center; gap:35px; padding:25px 46px 28px; border-top:1px solid var(--line); color:var(--muted); }
.atelier-colophon>span:first-child { font:9px/1.7 var(--mono); text-transform:uppercase; letter-spacing:.8px; }
.atelier-colophon p { margin:0 0 0 auto; font:italic 21px/1.15 var(--serif); transform:rotate(-3deg); }
.atelier-colophon em { font-size:25px; color:var(--ink); }
.colophon-star { font:60px/1 var(--serif); color:var(--accent); }
.atelier-footer { padding:30px 14px; color:#c8bba0; }
.atelier-social { display:flex; flex-wrap:wrap; gap:5px 20px; padding-bottom:20px; border-bottom:1px solid #ad946432; }
.atelier-social a { display:inline-flex; align-items:center; min-height:44px; min-width:24px; font:12px/1.5 var(--mono); padding:8px 0; }
.atelier-footer a:hover { color:#c5e0c7; }
.atelier-footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:20px; font:11px/1.7 var(--mono); }
.footer-widgets:empty { display:none; }
.footer-widgets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
.pager { display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--line); padding-top:22px; font:12px var(--mono); }
body.admin-bar .atelier-masthead { padding-top:42px; }
@media (max-width:1100px) {
  .atelier-workshop { padding:0 24px; }
  .atelier-masthead { gap:22px; }
  .atelier-tools time { display:none; }
  .atelier-menu>li>a { padding:13px 10px; font-size:12px; }
  .atelier-navigation { gap:10px; }
  .atelier-search { width:155px; }
  .content { padding:30px 35px 10px; }
  .layout { grid-template-columns:minmax(0,1fr) 210px; gap:25px; }
  .layout.sidebar-left { grid-template-columns:210px minmax(0,1fr); }
}
@media (max-width:1000px) {
  .atelier-navigation { flex-wrap:wrap; gap:10px; margin:0 10px; padding-bottom:10px; }
  .atelier-navigation nav { flex-basis:100%; order:2; }
  .atelier-menu { flex-wrap:wrap; }
  .atelier-menu>li { border-bottom:1px solid #a492634f; }
  .atelier-menu>li>a { font-size:12px; }
  .atelier-menu-toggle { display:flex; justify-content:space-between; gap:30px; align-items:center; padding:11px 13px; background:#2d3629; border:1px solid #a492634f; color:#e3dcc5; font:12px var(--mono); min-height:44px; }
  .atelier-navigation.menu-enhanced:not(.is-open) nav { display:none; }
  .atelier-navigation.is-open nav { display:block; }
  .atelier-navigation>.atelier-search { margin:0 0 0 auto; width:205px; }
  .atelier-menu>li { flex:1 0 28%; }
  .atelier-menu>li>a { flex:1; }
  .atelier-menu>li>.submenu,.atelier-menu>li>.sub-menu { z-index:12; min-width:100%; }
  .atelier-search input { font:16px var(--sans); }
}
@media (max-width:850px) {
  .atelier-workshop { padding:0 16px; }
  .atelier-identity { font-size:11px; letter-spacing:.7px; }
  .atelier-identity>span:last-child { font-size:10px; }
  .atelier-masthead { padding:15px 10px; min-height:128px; gap:17px; }
  .atelier-nameplate { gap:12px; padding:11px 14px; }
  .atelier-wordmark { width:132px; }
  .atelier-theme-toggle { min-width:80px; padding:8px; }
  .layout,.layout.sidebar-left { display:block; }
  .layout>.sidebar,.layout.sidebar-left>.sidebar { border:0; padding:30px 0 0; border-top:1px solid var(--line); margin-top:30px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; }
  .atelier-colophon { padding-left:35px; padding-right:35px; }
}
@media (max-width:600px) {
  .atelier-workshop { padding:0 10px; }
  .atelier-room { height:900px; background-position:38% top; }
  .atelier-masthead { flex-wrap:wrap; gap:18px; padding:22px 10px; }
  .atelier-identity { order:3; flex:1 0 100%; gap:6px; }
  .atelier-identity i { display:none; }
  .atelier-identity>span:first-child { font-size:11px; letter-spacing:1.5px; }
  .atelier-identity>span:last-child { font-size:10px; }
  .atelier-tools { margin-left:auto; }
  .atelier-theme-toggle { min-width:91px; }
  .atelier-navigation { margin:0 5px; }
  .atelier-navigation>.atelier-search { flex:1; min-width:155px; width:auto; }
  .atelier-menu-toggle { gap:16px; }
  .atelier-menu { gap:5px; }
  .atelier-menu>li { flex-basis:43%; }
  .atelier-book-top { margin:0 6px; padding:10px 10px; font-size:9px; letter-spacing:.2px; }
  .atelier-binding { padding:7px 7px 10px; }
  .content { padding:24px 22px 5px; }
  .atelier-front-title { margin:25px 0 28px; }
  .atelier-front-title h1 { font-size:clamp(38px,10vw,55px); line-height:.98; letter-spacing:-1.5px; }
  .atelier-front-title h1 em { display:block; }
  .atelier-running-head { font-size:8px; }
  .atelier-flourish { display:none; }
  .home-manuscript .entry-content img.wp-image-4201 { float:none; width:100%; max-width:none; margin:0 0 24px!important; }
  .page-head h1 { font-size:32px; }
  .layout>.sidebar,.layout.sidebar-left>.sidebar { display:block; }
  .atelier-colophon { padding:23px; gap:15px; flex-wrap:wrap; }
  .atelier-colophon>span:first-child { flex:1 0 100%; font-size:8px; }
  .atelier-colophon p { margin:0 auto 0 0; }
  .colophon-star { font-size:48px; }
  .atelier-footer { padding:24px 10px; }
  .atelier-footer-bottom { flex-wrap:wrap; font-size:11px; gap:15px; }
  .atelier-footer-bottom>span:last-child { display:none; }
  .footer-widgets { display:block; }
}
@media (max-width:360px) {
  .atelier-masthead { gap:8px; }
  .atelier-nameplate { gap:8px; padding-inline:10px; }
  .atelier-wordmark { width:120px; }
  .atelier-menu-toggle { gap:8px; }
  .atelier-navigation>.atelier-search { min-width:152px; }
  .atelier-theme-toggle { min-width:80px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none!important; animation:none!important; }
}
@media print {
  .atelier-room,.atelier-masthead,.atelier-navigation,.atelier-book-top,.atelier-footer,.atelier-colophon,.sidebar,.skip-link { display:none!important; }
  :root,html[data-theme="light"] { --ink:#111; --muted:#333; --paper:#fff; --line:#aaa; --accent:#222; --green:#222; }
  body,.atelier-paper { background:#fff!important; color:#111!important; }
  .atelier-workshop,.atelier-binding,.content { padding:0; width:auto; border:0; box-shadow:none; }
  .atelier-binding::before,.atelier-binding::after { display:none; }
  .atelier-paper { border:0; box-shadow:none; }
  .layout { display:block; }
}
