/* LUNOX_BLOG — interface éditoriale sobre, monochrome et responsive. */
:root{color-scheme:light;--paper:#ffffff;--paper-2:#f5f5f5;--ink:#171717;--muted:#666666;--line:#dedede;--accent:#a72b2b;--accent-hover:#872020;--panel:#ffffff;--soft:#ededed;--shadow:0 20px 60px rgba(0,0,0,.12);--serif:"Lora",Georgia,serif;--sans:"DM Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--header-h:76px}
:root[data-theme="dark"]{color-scheme:dark;--paper:#111111;--paper-2:#1b1b1b;--ink:#f2f2f2;--muted:#b5b5b5;--line:#353535;--accent:#d14a4a;--accent-hover:#e05b5b;--panel:#171717;--soft:#252525;--shadow:0 20px 60px rgba(0,0,0,.4)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;transition:background .2s,color .2s}body.no-scroll{overflow:hidden}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[contenteditable]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:disabled{opacity:.55;cursor:wait}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:12px;background:var(--ink);color:var(--paper);padding:10px 16px;z-index:1000}.skip-link:focus{top:12px}
.site-header{height:var(--header-h);border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:20}.header-inner{max-width:1240px;height:100%;padding:0 42px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.wordmark,.footer-wordmark{font-weight:700;letter-spacing:.13em;font-size:23px;line-height:1}.wordmark-dot,.footer-wordmark span,.article-brand span{color:var(--accent)}.main-nav{display:flex;align-items:center;gap:35px;margin-left:auto;margin-right:22px}.main-nav a{font-size:12px;color:var(--muted);transition:color .2s}.main-nav a:hover,.main-nav a.active{color:var(--ink)}.header-actions{display:flex;gap:10px}.icon-button,.menu-button{border:1px solid var(--line);background:transparent;color:var(--ink);width:38px;height:38px;border-radius:50%;font-size:21px;display:inline-flex;align-items:center;justify-content:center}.icon-button:hover,.menu-button:hover{border-color:var(--accent);color:var(--accent)}.menu-button{display:none}
.page-section{max-width:1240px;margin:0 auto;padding-left:42px;padding-right:42px}.hero{min-height:535px;padding-top:95px;padding-bottom:80px;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,.55fr);align-items:end;gap:70px}.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:700;color:var(--muted);margin:0 0 18px;text-transform:uppercase}.eyebrow-line{display:inline-block;width:25px;height:1px;background:var(--accent);vertical-align:middle;margin:0 10px 3px 0}.hero h1,.about-content h2{font-family:var(--serif);font-size:clamp(52px,7vw,88px);font-weight:500;line-height:1.03;letter-spacing:-.045em;margin:0;max-width:780px}.hero h1 em,.about-content h2 em{font-weight:500;color:var(--accent)}.hero-intro{font-size:17px;line-height:1.8;color:var(--muted);max-width:460px;margin:26px 0 23px}.text-link{display:inline-flex;gap:20px;align-items:center;border-bottom:1px solid var(--accent);padding:0 0 8px;font-size:12px;font-weight:700}.text-link span{color:var(--accent);font-size:17px}.hero-note{max-width:245px;margin-bottom:10px;border-top:1px solid var(--line);padding-top:16px}.note-index{font-size:10px;color:var(--accent);letter-spacing:.12em;font-weight:700}.hero-note p{font-family:var(--serif);font-size:18px;line-height:1.55;margin:18px 0 22px}.note-rule{display:block;height:3px;width:40px;background:var(--accent)}
.publications-section{padding-top:35px;padding-bottom:110px;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:0 0 34px}.section-heading .eyebrow{margin-bottom:8px}.section-heading h2,.dialog-card>h2{font-family:var(--serif);font-size:clamp(34px,4vw,48px);font-weight:500;letter-spacing:-.035em;line-height:1.15;margin:0}.heading-period{color:var(--accent)}.section-count{font-size:9px;letter-spacing:.14em;color:var(--muted);padding-bottom:8px}
.featured-post{display:grid;grid-template-columns:1.12fr .88fr;background:var(--paper-2);margin-bottom:25px;min-height:335px;overflow:hidden}.featured-image{min-height:300px;background:var(--soft);position:relative;overflow:hidden}.featured-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .55s}.featured-post:hover .featured-image img{transform:scale(1.025)}.image-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--soft),var(--paper-2));color:var(--muted);font-family:var(--serif);font-size:42px}.featured-copy{padding:42px 44px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.post-meta{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.meta-dot{width:3px;height:3px;background:var(--accent);border-radius:50%}.featured-copy h3{font-family:var(--serif);font-size:clamp(27px,3vw,39px);line-height:1.18;letter-spacing:-.025em;font-weight:500;margin:19px 0 13px}.featured-copy p{color:var(--muted);font-size:13px;line-height:1.8;margin:0 0 24px;max-width:430px}.read-link{font-size:11px;font-weight:700;border-bottom:1px solid var(--accent);padding-bottom:6px}.read-link span{color:var(--accent);margin-left:10px}
.posts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}.post-card{min-width:0;cursor:pointer;display:flex;flex-direction:column}.post-card:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.post-card-image{aspect-ratio:1.43;background:var(--paper-2);position:relative;overflow:hidden;margin-bottom:18px}.post-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.post-card:hover .post-card-image img{transform:scale(1.04)}.post-card-image .image-placeholder{font-size:31px}.post-card h3{font-family:var(--serif);font-size:24px;font-weight:500;line-height:1.25;letter-spacing:-.02em;margin:11px 0 9px}.post-card p{color:var(--muted);font-size:12px;line-height:1.8;margin:0 0 17px}.card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:10px}.card-bottom .read-link{border:0}.vote-mini{font-size:10px;color:var(--muted);display:flex;gap:10px}.loading-state{grid-column:1/-1;min-height:150px;display:flex;align-items:center;gap:14px;color:var(--muted);font-size:12px}.loading-mark{width:23px;height:23px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{padding:55px 20px;text-align:center;border:1px solid var(--line)}.empty-state h3{font:500 29px var(--serif);margin:0 0 8px}.empty-state p:last-child{color:var(--muted);font-size:13px}.notice{padding:14px 18px;border:1px solid var(--line);font-size:13px}.notice-error,.form-error{color:#b34f39}
.about-section{max-width:none;background:var(--paper-2);padding-top:82px;padding-bottom:88px;padding-left:max(42px,calc((100vw - 1156px)/2));padding-right:max(42px,calc((100vw - 1156px)/2))}.about-label{display:flex;gap:25px;font-size:10px;letter-spacing:.15em;color:var(--muted);font-weight:700;margin-bottom:42px}.about-label span:first-child{color:var(--accent)}.about-content{display:grid;grid-template-columns:1.1fr .8fr;gap:85px;align-items:center}.about-content h2{font-size:clamp(42px,5vw,66px)}.about-text{max-width:430px}.about-text p{font-size:14px;line-height:1.95;color:var(--muted);margin:0 0 16px}.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;border:1px solid var(--line);background:transparent;color:var(--ink);padding:12px 16px;font-size:11px;font-weight:700;transition:border-color .2s,color .2s}.outline-button:hover{border-color:var(--accent);color:var(--accent)}.about-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:12px}.about-actions .outline-button{margin-top:0}.theme-about{border:0;background:transparent;color:var(--muted);padding:10px 0;font-size:11px}.theme-about:hover{color:var(--accent)}
.site-footer{min-height:145px;padding:32px max(42px,calc((100vw - 1156px)/2));display:flex;align-items:center;gap:28px;position:relative}.footer-wordmark{font-size:20px}.site-footer>p{font-size:11px;color:var(--muted);margin:0}.footer-links{margin-left:auto;display:flex;align-items:center;gap:20px;color:var(--muted);font-size:10px}.footer-links button,.text-button{border:0;background:none;color:inherit;padding:0;font-size:inherit}.footer-links button:hover,.text-button:hover{color:var(--accent)}.quiet-entry{position:absolute;right:8px;bottom:8px;border:0;background:transparent;color:var(--muted);opacity:.35;width:22px;height:22px;font-size:18px}
.overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:stretch;justify-content:flex-end}.overlay-backdrop{position:absolute;inset:0;background:rgba(13,18,15,.65);backdrop-filter:blur(4px)}.article-panel{position:relative;width:min(850px,100%);height:100%;overflow:auto;background:var(--paper);box-shadow:var(--shadow);animation:slide-in .25s ease}@keyframes slide-in{from{transform:translateX(24px);opacity:.6}to{transform:translateX(0);opacity:1}}.article-topbar{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:2}.article-brand{font-weight:700;letter-spacing:.13em;font-size:17px}.article-content{max-width:690px;padding:38px 36px 80px;margin:auto}.article-content .post-meta{margin-bottom:18px}.article-content h1{font:500 clamp(38px,5vw,59px)/1.08 var(--serif);letter-spacing:-.04em;margin:0 0 22px}.article-deck{font-size:17px;line-height:1.8;color:var(--muted);margin:0 0 28px}.article-cover{width:100%;max-height:460px;object-fit:cover;margin:0 0 30px;background:var(--paper-2)}.article-body{font-size:16px;line-height:1.95;overflow-wrap:anywhere}.article-body h2,.article-body h3{font-family:var(--serif);font-weight:500;line-height:1.25;margin:1.6em 0 .6em}.article-body p{margin:0 0 1.3em}.article-body img,.article-body video{max-width:100%;height:auto;display:block;margin:25px auto}.article-body blockquote{border-left:3px solid var(--accent);margin:25px 0;padding:4px 0 4px 22px;font:italic 22px/1.55 var(--serif);color:var(--muted)}.article-body a{color:var(--accent);text-decoration:underline}.article-body hr{border:0;border-top:1px solid var(--line);margin:35px 0}.article-media{width:100%;max-height:500px;object-fit:contain;background:var(--paper-2);margin:0 0 26px}.article-media video{width:100%;max-height:500px}.article-reactions{border-top:1px solid var(--line);margin-top:45px;padding-top:22px;display:flex;align-items:center;gap:10px}.article-reactions p{margin:0 auto 0 0;color:var(--muted);font-size:11px}.reaction-button{border:1px solid var(--line);background:transparent;color:var(--ink);padding:9px 13px;font-size:11px}.reaction-button.active{border-color:var(--accent);color:var(--accent);background:var(--paper-2)}.reaction-button:disabled{cursor:default}.dialog-card{position:relative;align-self:center;margin:20px auto;width:min(520px,calc(100% - 28px));max-height:calc(100% - 40px);overflow:auto;background:var(--panel);padding:30px;box-shadow:var(--shadow);animation:dialog-in .2s ease}@keyframes dialog-in{from{transform:translateY(8px);opacity:.5}to{transform:translateY(0);opacity:1}}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.dialog-top .eyebrow{margin:0}.document-list{margin-top:30px}.document-list article{display:grid;grid-template-columns:35px 1fr;gap:16px;padding:20px 0;border-top:1px solid var(--line)}.document-list article>span{font-size:11px;color:var(--accent);padding-top:4px}.document-list h3{font:500 21px var(--serif);margin:0 0 5px}.document-list p,.muted{font-size:12px;color:var(--muted);line-height:1.8}.secret-overlay{z-index:80}.secret-card{max-width:380px}.error-symbol{width:34px;height:34px;border:1px solid var(--accent);border-radius:50%;display:grid;place-items:center;color:var(--accent);font-weight:700}.secret-card h2{font:500 27px var(--serif);margin:10px 0}.fake-error-card{width:100%;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);padding:13px 15px;margin:20px 0 0;font-size:12px}.fake-error-card span{color:var(--accent)}.secret-card form{margin-top:20px}.secret-card label,.stack-form label,.editor-form label,.publish-card label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:700;color:var(--muted);margin-bottom:14px}.secret-card input,.stack-form input,.editor-form input,.editor-form textarea,.editor-form select,.publish-card select,.filter-row input,.filter-row select{width:100%;min-width:0;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:0;padding:11px 12px;outline-offset:1px;font-size:13px}.primary-button{border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:13px 18px;font-size:11px;font-weight:700;transition:background .2s,border-color .2s}.primary-button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.stack-form{margin-top:25px}.stack-form label{margin-bottom:15px}.stack-form .primary-button{width:100%;margin-top:5px}.form-error{font-size:12px;line-height:1.6}.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,20px);z-index:120;background:var(--ink);color:var(--paper);padding:12px 18px;font-size:12px;max-width:calc(100% - 30px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}
/* Administration : outil éditorial fonctionnel, distinct du site public. */
.admin-workspace{position:fixed;inset:0;z-index:50;background:var(--paper);overflow:auto}.admin-header{height:70px;border-bottom:1px solid var(--line);padding:0 28px;display:flex;align-items:center;justify-content:space-between;background:var(--panel)}.admin-header>div{display:flex;align-items:center;gap:16px}.admin-badge{font-size:9px;letter-spacing:.14em;color:var(--muted)}.small-button{padding:8px 12px}.admin-layout{min-height:calc(100vh - 70px);display:grid;grid-template-columns:230px minmax(0,1fr)}.admin-sidebar{border-right:1px solid var(--line);padding:30px 18px;display:flex;flex-direction:column;gap:7px;position:relative}.admin-sidebar .eyebrow{padding:0 12px;margin-bottom:13px;font-size:9px}.admin-nav{border:0;background:transparent;color:var(--muted);text-align:left;padding:12px;font-size:12px}.admin-nav.active,.admin-nav:hover{background:var(--paper-2);color:var(--ink)}.admin-nav.active{border-left:2px solid var(--accent)}.sidebar-bottom{margin-top:auto;padding:20px 12px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:7px;font-size:9px;letter-spacing:.08em;color:var(--muted)}.sidebar-bottom span:last-child{color:var(--muted)}.admin-main{padding:38px clamp(22px,4vw,58px) 70px;min-width:0;max-width:1400px;width:100%;margin:0 auto}.admin-page-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:35px}.admin-page-heading .eyebrow{margin-bottom:8px}.admin-page-heading h1{font:500 clamp(34px,4vw,47px)/1.15 var(--serif);letter-spacing:-.035em;margin:0}.admin-page-heading h1 span{color:var(--accent)}.admin-page-heading p:last-child{font-size:12px;color:var(--muted);margin:10px 0 0}.admin-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:42px}.admin-summary article{border:1px solid var(--line);padding:20px;background:var(--panel);display:flex;flex-direction:column;gap:8px}.admin-summary article span{font-size:9px;letter-spacing:.13em;color:var(--muted)}.admin-summary strong{font:500 35px var(--serif)}.admin-summary small{font-size:10px;color:var(--muted)}.admin-list-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.admin-list-heading h2{font:500 25px var(--serif);margin:0}.text-button{font-weight:700;font-size:11px}.admin-post-list{border-top:1px solid var(--line)}.admin-post-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px;align-items:center;padding:17px 4px;border-bottom:1px solid var(--line)}.admin-post-row h3{font:500 18px var(--serif);margin:0 0 5px;overflow-wrap:anywhere}.admin-post-row p{font-size:10px;color:var(--muted);margin:0}.status-pill{display:inline-block;font-size:9px;letter-spacing:.08em;text-transform:uppercase;padding:4px 7px;background:var(--paper-2);color:var(--muted);margin-right:8px}.status-pill.published{color:var(--muted)}.row-actions{display:flex;align-items:center;gap:8px}.row-actions button{border:1px solid var(--line);background:transparent;color:var(--ink);padding:7px 10px;font-size:10px}.row-actions button:hover{border-color:var(--accent);color:var(--accent)}.filter-row{display:grid;grid-template-columns:minmax(140px,1fr) 170px 170px;gap:10px;margin-bottom:20px}.editor-form{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:25px;align-items:start}.editor-main-fields>label{display:block}.editor-main-fields>label>input,.editor-main-fields>label>textarea{margin-top:7px}.editor-main-fields input[name="title"]{font:500 24px var(--serif);padding:15px}.editor-main-fields textarea{resize:vertical}.editor-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.editor-two-cols label{min-width:0}.upload-row{display:flex;align-items:center;gap:12px;margin:0 0 19px}.upload-button{display:inline-flex!important;align-items:center;justify-content:center;border:1px solid var(--line);padding:10px 13px;background:var(--paper-2);color:var(--ink)!important;margin:0!important;cursor:pointer;font-size:10px!important}.upload-row>span{font-size:10px;color:var(--muted);overflow-wrap:anywhere}.rich-editor{border:1px solid var(--line);background:var(--panel);margin-top:8px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:3px;padding:8px;border-bottom:1px solid var(--line);background:var(--paper-2)}.toolbar button{min-width:29px;height:30px;border:1px solid transparent;background:transparent;color:var(--ink);font-size:11px;padding:4px 7px}.toolbar button:hover,.toolbar button.active{border-color:var(--line);background:var(--panel)}.toolbar-divider{height:20px;width:1px;background:var(--line);margin:0 4px}.toolbar-select{display:flex!important;align-items:center;gap:5px!important;margin:0!important;font-size:9px!important}.toolbar-select select{width:auto;padding:5px;font-size:10px}.toolbar-color{display:flex!important;align-items:center;gap:3px!important;margin:0!important;font-size:12px!important}.toolbar-color input{width:24px;height:25px;padding:1px}.rich-content{min-height:330px;padding:20px;outline:none;line-height:1.9;font-size:14px;overflow-wrap:anywhere}.rich-content:empty:before{content:attr(data-placeholder);color:var(--muted)}.rich-content h2,.rich-content h3{font-family:var(--serif);font-weight:500}.rich-content img,.rich-content video{max-width:100%;height:auto}.publish-card{border:1px solid var(--line);background:var(--panel);padding:18px;margin-bottom:14px}.publish-card .eyebrow{margin-bottom:17px}.publish-card .muted{margin:5px 0 17px}.full-button{width:100%;margin-top:8px}.publish-card .form-error{margin-bottom:0}.admin-empty{padding:28px 0;font-size:12px;color:var(--muted)}.preview-note{border:1px solid var(--line);padding:12px;font-size:11px;color:var(--muted);margin-bottom:20px}
@media(max-width:850px){.header-inner{padding:0 24px}.page-section{padding-left:24px;padding-right:24px}.hero{min-height:490px;gap:30px;padding-top:75px}.hero h1{font-size:clamp(48px,8vw,72px)}.hero-note{max-width:210px}.featured-copy{padding:30px}.posts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-section{padding-left:24px;padding-right:24px}.about-content{gap:40px}.site-footer{padding-left:24px;padding-right:24px}.admin-layout{grid-template-columns:185px minmax(0,1fr)}.admin-sidebar{padding:25px 12px}.admin-main{padding:30px 22px}.editor-form{grid-template-columns:minmax(0,1fr)}.editor-aside{display:grid;grid-template-columns:1fr 1fr;gap:12px}.filter-row{grid-template-columns:minmax(100px,1fr) 1fr}.filter-row select:last-child{grid-column:1/-1}}
@media(max-width:600px){:root{--header-h:64px}.header-inner{padding:0 18px;gap:12px}.wordmark{font-size:21px}.main-nav{display:none;position:absolute;top:63px;left:0;right:0;margin:0;padding:12px 18px 18px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav a{padding:12px 2px;border-bottom:1px solid var(--line)}.menu-button{display:inline-flex}.icon-button,.menu-button{width:35px;height:35px}.page-section{padding-left:19px;padding-right:19px}.hero{display:block;min-height:auto;padding-top:66px;padding-bottom:55px}.hero h1{font-size:clamp(49px,13vw,68px)}.hero-intro{font-size:15px;max-width:370px}.hero-note{max-width:none;margin-top:55px;display:grid;grid-template-columns:1fr;gap:0}.hero-note p{max-width:310px;font-size:17px;margin:12px 0 17px}.publications-section{padding-top:30px;padding-bottom:70px}.section-heading{align-items:start;gap:15px}.section-heading h2{font-size:34px}.section-count{max-width:100px;text-align:right;line-height:1.7}.featured-post{grid-template-columns:1fr}.featured-image{min-height:230px;aspect-ratio:1.45}.featured-copy{padding:25px 23px 28px}.featured-copy h3{font-size:31px}.posts-grid{grid-template-columns:1fr;gap:30px}.post-card-image{aspect-ratio:1.55;margin-bottom:14px}.post-card h3{font-size:25px}.post-card p{font-size:13px}.about-section{padding:58px 20px 62px}.about-label{margin-bottom:28px}.about-content{grid-template-columns:1fr;gap:24px}.about-content h2{font-size:clamp(40px,11vw,57px)}.about-text p{font-size:13px}.site-footer{padding:28px 19px 48px;display:grid;grid-template-columns:1fr auto;gap:14px}.site-footer>p{grid-column:1/-1;grid-row:2}.footer-links{grid-column:1/-1;grid-row:3;margin:8px 0 0;justify-content:space-between}.article-topbar{height:58px;padding:0 18px}.article-content{padding:30px 20px 60px}.article-content h1{font-size:40px}.article-deck{font-size:15px}.article-body{font-size:15px}.dialog-card{padding:22px 20px}.admin-header{height:62px;padding:0 16px}.admin-header>div{gap:8px}.admin-badge{display:none}.admin-layout{display:block;min-height:calc(100vh - 62px)}.admin-sidebar{position:sticky;top:0;z-index:3;background:var(--paper);border-right:0;border-bottom:1px solid var(--line);padding:7px 10px;display:flex;flex-direction:row;gap:4px;overflow:auto}.admin-sidebar .eyebrow,.sidebar-bottom{display:none}.admin-nav{white-space:nowrap;padding:10px;font-size:10px}.admin-main{padding:25px 15px 50px}.admin-page-heading{align-items:flex-start;flex-direction:column;gap:17px;margin-bottom:25px}.admin-page-heading h1{font-size:36px}.admin-summary{gap:7px;margin-bottom:30px}.admin-summary article{padding:12px 10px;gap:6px}.admin-summary article span{font-size:8px;letter-spacing:.06em}.admin-summary strong{font-size:28px}.admin-summary small{font-size:9px}.admin-list-heading{gap:12px;align-items:flex-start}.admin-list-heading h2{font-size:21px}.admin-post-row{grid-template-columns:minmax(0,1fr);gap:12px}.row-actions{flex-wrap:wrap}.row-actions button{padding:8px 10px}.filter-row{grid-template-columns:1fr 1fr}.filter-row input{grid-column:1/-1}.filter-row select:last-child{grid-column:1/-1}.editor-two-cols{grid-template-columns:1fr;gap:0}.editor-aside{grid-template-columns:1fr}.editor-main-fields input[name="title"]{font-size:21px}.rich-content{min-height:260px;padding:14px}.toolbar{gap:2px}.toolbar button{padding:4px 5px}.upload-row{align-items:flex-start;flex-direction:column}.admin-page-heading .primary-button{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Corrections de stabilité et hiérarchie typographique */
.hero h1,.about-content h2,.section-heading h2,.dialog-card>h2,.featured-copy h3,.post-card h3,.empty-state h3,.document-list h3,.secret-card h2,.admin-page-heading h1,.admin-summary strong,.admin-list-heading h2,.admin-post-row h3,.editor-main-fields input[name="title"]{font-family:var(--sans);letter-spacing:-.025em;font-weight:600}
.hero h1,.about-content h2{line-height:1.08;letter-spacing:-.045em}
.hero-note p{font-family:var(--sans);font-size:15px;line-height:1.75}
.article-content h1{font-family:var(--serif)}
.article-body,.rich-content{font-family:var(--publication-font,"Lora",Georgia,serif)}
.article-body[data-font="lora"],.rich-content[data-font="lora"]{--publication-font:"Lora",Georgia,serif}
.article-body[data-font="source-serif"],.rich-content[data-font="source-serif"]{--publication-font:"Source Serif 4",Georgia,serif}
.article-body[data-font="merriweather"],.rich-content[data-font="merriweather"]{--publication-font:"Merriweather",Georgia,serif}
.article-body[data-font="georgia"],.rich-content[data-font="georgia"]{--publication-font:Georgia,"Times New Roman",serif}
.article-body[data-font="sans"],.rich-content[data-font="sans"]{--publication-font:var(--sans)}
.article-body h2,.article-body h3,.article-body blockquote,.rich-content h2,.rich-content h3{font-family:var(--publication-font,var(--serif))}
.publication-font-setting small{display:block;font-weight:400;line-height:1.6;color:var(--muted);font-size:10px}
.publication-font-setting select{width:100%;margin-top:7px}
/* Le contenu éditorial reste lisible même si les polices distantes ne chargent pas. */
.article-body{font-size:17px;line-height:1.9}
@media(max-width:600px){.article-body{font-size:16px;line-height:1.85}.hero h1{letter-spacing:-.04em}}

/* Routes réelles : une vue principale visible à la fois. */
body.route-article .site-header,body.route-article .site-footer{display:none!important}
.route-view[hidden]{display:none!important}
.cover-banner{display:flex;position:relative;align-items:center;justify-content:center;min-height:115px;max-height:190px;overflow:hidden;width:100%;margin:0 0 34px;background:var(--paper-2);border:1px solid var(--line);color:var(--ink);font-size:clamp(22px,4vw,36px);font-weight:700;letter-spacing:.06em;text-align:center}
.cover-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cover-banner span{position:relative;z-index:1;padding:12px 20px;background:color-mix(in srgb,var(--paper) 78%,transparent)}
.cover-banner:not(.cover-missing) span{background:rgba(255,255,255,.78);color:#171717}
.hero{display:block;min-height:0;padding-top:32px;padding-bottom:62px}
.hero-copy{max-width:760px}.hero h1{font-size:clamp(40px,6vw,70px);font-weight:650}.hero h1 em,.about-content h2 em{color:var(--ink);font-style:normal}.eyebrow-line,.note-rule{background:var(--accent)}
.main-nav a{padding:9px 0;border-bottom:2px solid transparent}.main-nav a.active{border-color:var(--accent);font-weight:600}.featured-post{background:var(--paper-2);border:1px solid var(--line)}
.post-card-image,.featured-image{background:var(--paper-2)}.image-placeholder{background:var(--paper-2);color:var(--muted)}
.article-panel{width:100%;height:auto;min-height:calc(100vh - var(--header-h));box-shadow:none;animation:none;overflow:visible}.overlay:has(.article-panel){position:fixed;inset:0;z-index:60;display:flex}.overlay:has(.article-panel) .overlay-backdrop{display:none}.article-topbar{position:sticky}.article-content{max-width:800px}.article-content h1{font-family:var(--sans);font-weight:650;letter-spacing:-.035em}.article-reactions{flex-wrap:wrap}.article-reactions p{flex-basis:100%;margin-bottom:6px}
:root{--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif}
.article-body[data-font="literata"],.rich-content[data-font="literata"]{--publication-font:'Literata',Georgia,serif}
.article-body[data-font="newsreader"],.rich-content[data-font="newsreader"]{--publication-font:'Newsreader',Georgia,serif}
.article-body[data-font="pt-serif"],.rich-content[data-font="pt-serif"]{--publication-font:'PT Serif',Georgia,serif}
.article-body[data-font="roboto-slab"],.rich-content[data-font="roboto-slab"]{--publication-font:'Roboto Slab',Georgia,serif}
.article-body[data-font="libre-baskerville"],.rich-content[data-font="libre-baskerville"]{--publication-font:'Libre Baskerville',Georgia,serif}
@media(max-width:600px){.cover-banner{min-height:90px;margin-bottom:25px}.hero{padding-top:20px}.article-panel{min-height:calc(100vh - var(--header-h))}}


/* LUNOX_BLOG — ajustements éditoriaux demandés */
:root{--accent:#9d3030;--accent-hover:#7f2424}
:root[data-theme="dark"]{--accent:#bd4545;--accent-hover:#d15353}
/* La bannière est visible mais reste en arrière-plan du nom du blog. */
.cover-banner{min-height:164px;max-height:230px;aspect-ratio:5.6/1;margin-bottom:34px;border:0;background:var(--paper-2);isolation:isolate}
.cover-banner::after{content:"";position:absolute;inset:0;z-index:0;background:rgba(0,0,0,.14);pointer-events:none}
.cover-banner img{z-index:-1;object-fit:cover}
.cover-banner span{z-index:1;background:rgba(255,255,255,.15);color:var(--ink);padding:12px 20px;text-shadow:0 1px 12px rgba(0,0,0,.14)}
.cover-banner:not(.cover-missing) span{background:rgba(255,255,255,.12);color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.55);backdrop-filter:blur(1px)}
.cover-banner.cover-missing::after{display:none}
.cover-banner.cover-missing span{background:transparent;color:var(--ink)}
.about-content{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;gap:clamp(35px,7vw,100px)}
.author-profile{position:relative;display:grid;grid-template-columns:116px minmax(0,1fr);align-items:start;gap:23px;padding:0 0 26px;border-bottom:1px solid var(--line)}
.profile-photo-frame{position:relative;width:116px;aspect-ratio:1/1;background:var(--soft);border:1px solid var(--line);overflow:hidden}
.profile-photo-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.profile-photo-frame img.profile-photo-missing{display:none}
.profile-photo-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:27px;font-weight:600;letter-spacing:.06em}
.profile-photo-frame:has(img:not(.profile-photo-missing)) .profile-photo-fallback{display:none}
.author-profile-copy .eyebrow{margin:3px 0 7px}
.author-profile-copy h2{font-size:clamp(28px,3.2vw,42px);line-height:1.15;letter-spacing:-.035em;margin:0 0 12px}
.profile-description{color:var(--muted);font-size:13px;line-height:1.8;margin:0 0 17px;white-space:pre-line}
.signature-line{display:flex;align-items:center;gap:9px;margin:0;color:var(--ink);font-size:12px;font-weight:600;letter-spacing:.03em}
.signature-mark{width:7px;height:7px;background:#c8a536;display:inline-block;flex:0 0 auto}
.about-text h3{font-size:clamp(30px,3.5vw,44px);line-height:1.1;letter-spacing:-.04em;font-weight:600;margin:0 0 20px}
.about-text>.eyebrow{margin:0 0 10px}
.quiet-entry{position:absolute;right:0;bottom:0;width:20px;height:20px;padding:0;border:0;background:transparent;color:var(--muted);font-size:17px;line-height:20px;opacity:.24;transition:opacity .15s,color .15s}
.quiet-entry:hover,.quiet-entry:focus-visible{opacity:.55;color:var(--muted)}
/* Le vert est réservé à l’unique indicateur de session connectée dans le tableau de bord. */
.sidebar-bottom span:last-child{color:var(--muted)}
.status-pill.published{color:var(--muted)}
.session-online{display:flex;align-items:center;gap:7px;letter-spacing:.02em}
.session-online::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#4d8661}
.settings-form{display:grid;gap:18px;max-width:1000px}
.settings-card{border:1px solid var(--line);background:var(--panel);padding:23px}
.settings-card>.eyebrow{margin-bottom:18px}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px}
.settings-grid label{display:flex;flex-direction:column;gap:7px;min-width:0;color:var(--muted);font-size:11px;font-weight:700}
.settings-grid input,.settings-grid textarea{width:100%;min-width:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:11px 12px;font:400 13px/1.5 var(--sans);border-radius:0}
.settings-grid textarea{resize:vertical}
.settings-wide{grid-column:1/-1}
.settings-help{font-size:11px;line-height:1.7;color:var(--muted);margin:15px 0 0}
.settings-actions{display:flex;justify-content:flex-start}
.form-feedback{padding:12px 14px;border:1px solid var(--line);font-size:12px;line-height:1.6;margin:0;color:var(--ink)}
@media(max-width:850px){.author-profile{grid-template-columns:96px minmax(0,1fr);gap:17px}.profile-photo-frame{width:96px}.about-content{grid-template-columns:1fr;gap:36px}}
@media(max-width:600px){.cover-banner{min-height:125px;max-height:160px;aspect-ratio:2.7/1;margin-bottom:25px}.author-profile{grid-template-columns:82px minmax(0,1fr);gap:14px;padding-bottom:28px}.profile-photo-frame{width:82px}.author-profile-copy h2{font-size:27px}.profile-description{font-size:12px}.about-text h3{font-size:34px}.settings-card{padding:17px}.settings-grid{grid-template-columns:1fr;gap:12px}.settings-wide{grid-column:auto}.settings-actions .primary-button{width:100%}.quiet-entry{right:0;bottom:0}}
.password-visibility{display:flex;align-items:center;gap:9px;margin-top:14px;color:var(--muted);font-size:11px;cursor:pointer}.password-visibility input{accent-color:var(--accent)}


/* Ajustements finaux : identité plus personnelle, accès discret mais réellement repérable. */
.quiet-entry{
  width:40px;height:40px;right:0;bottom:0;padding:0;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line);border-radius:50%;
  background:var(--paper-2);color:var(--muted);
  font-family:var(--sans);font-size:15px;line-height:1;
  letter-spacing:-.08em;opacity:.72;cursor:pointer;
  touch-action:manipulation;z-index:2;
}
.quiet-entry:hover{opacity:1;border-color:var(--muted);color:var(--ink)}
.quiet-entry:focus-visible{opacity:1;outline:2px solid var(--accent);outline-offset:3px}
.author-profile{padding-bottom:34px}
@media(max-width:600px){.quiet-entry{width:40px;height:40px;right:0;bottom:0}.author-profile{padding-bottom:38px}}


/* Révision finale : accueil épuré, rubriques visibles, extraits et signature discrète. */
.hero{display:block;min-height:0;padding-top:28px;padding-bottom:58px}
.hero-copy{max-width:760px}
.hero h1{font-size:clamp(42px,6.2vw,72px);line-height:1.06;margin:0;max-width:760px}
.hero-intro{font-size:15px;line-height:1.7;max-width:420px;margin:17px 0 19px}
.cover-banner{min-height:150px;max-height:210px;aspect-ratio:5.6/1;margin-bottom:30px}
@media(max-width:600px){.hero{padding-top:18px;padding-bottom:44px}.hero h1{font-size:clamp(42px,12vw,62px)}.hero-intro{font-size:14px}.cover-banner{min-height:118px;max-height:155px;aspect-ratio:2.8/1;margin-bottom:24px}}
.category-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 24px}
.category-chip{border:1px solid var(--line);background:transparent;color:var(--muted);padding:7px 12px;font-size:11px;line-height:1.2;transition:background .15s,color .15s,border-color .15s}
.category-chip:hover{border-color:var(--muted);color:var(--ink)}
.category-chip.active{background:var(--paper-2);border-color:var(--ink);color:var(--ink)}
.featured-excerpt,.card-excerpt{color:var(--muted);font-size:13px;line-height:1.75;margin:0 0 8px;white-space:pre-line;overflow-wrap:anywhere}
.featured-excerpt{font-size:14px;max-width:56ch;margin-bottom:6px}
.excerpt-toggle{border:0;background:transparent;color:var(--accent);font-size:11px;font-weight:700;padding:4px 0 8px;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}
.excerpt-toggle:hover{text-decoration-color:currentColor}
.post-card-open{display:block}
.post-card h3 a:hover{color:var(--accent)}
.post-card .card-excerpt{margin-bottom:3px}
.card-bottom{gap:10px}
.vote-mini{white-space:nowrap}
.about-signature{margin:0 0 24px;padding:0 0 18px;border-bottom:1px solid var(--line)}
.about-signature-brand{display:block;font-size:19px;font-weight:700;letter-spacing:.13em;line-height:1.25;margin-bottom:4px}
.about-signature .signature-line{gap:3px;font-size:12px;letter-spacing:.04em}
.about-description{font-size:13px;line-height:1.9;color:var(--muted);white-space:pre-line;margin:0 0 22px}
/* Le symbole reste intégré à la signature : aucune pastille ni contour décoratif. */
.quiet-entry{position:relative!important;inset:auto!important;width:30px;height:30px;min-width:30px;padding:0;margin:-5px 0 -5px 2px;display:inline-flex;align-items:center;justify-content:center;border:0!important;border-radius:0!important;background:transparent!important;color:var(--muted);font-family:var(--sans);font-size:15px;line-height:1;letter-spacing:-.08em;opacity:.82;cursor:pointer;touch-action:manipulation;z-index:auto;box-shadow:none!important}
.quiet-entry:hover{opacity:1;color:var(--ink);border:0!important}
.quiet-entry:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:2px!important}
@media(max-width:600px){.category-filters{gap:6px;margin-bottom:20px}.category-chip{padding:8px 10px}.about-signature{margin-bottom:20px}.quiet-entry{width:34px;height:34px;min-width:34px}}

.about-signature-brand::after{content:"";display:block;width:17px;height:2px;background:#c8a536;margin-top:8px}

.category-filter-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:4px}


/* CTA principal de l'accueil : accès aux publications clairement identifiable. */
.hero-copy > .text-link{
  display:inline-flex;align-items:center;justify-content:center;gap:22px;
  min-height:52px;margin-top:8px;padding:0 21px;border:1px solid var(--accent);
  border-radius:3px;background:var(--accent);color:#fff;font-size:13px;
  font-weight:700;letter-spacing:.01em;box-shadow:0 7px 18px rgba(167,43,43,.16);
  transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.hero-copy > .text-link span{color:#fff;font-size:19px;transition:transform .18s ease}
.hero-copy > .text-link:hover{
  background:var(--accent-hover);border-color:var(--accent-hover);color:#fff;
  transform:translateY(-2px);box-shadow:0 10px 22px rgba(167,43,43,.22);
}
.hero-copy > .text-link:hover span{transform:translate(3px,3px)}
.hero-copy > .text-link:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
@media(max-width:600px){
  .hero-copy > .text-link{width:100%;min-height:54px;justify-content:space-between;padding:0 18px;margin-top:10px}
}

/* Outils de recherche, catégories et documents PDF */
.publication-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:28px 0 14px;position:relative;z-index:5}
.publication-search{display:flex;align-items:center;gap:9px;flex:1 1 220px;min-width:180px;border:1px solid var(--line,rgba(128,128,128,.25));border-radius:12px;padding:0 13px;min-height:46px;background:var(--surface,rgba(128,128,128,.06))}
.publication-search>span{font-size:23px;opacity:.7}.publication-search input,.date-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:inherit;font:inherit}.date-search{display:flex;align-items:center;gap:8px;border:1px solid var(--line,rgba(128,128,128,.25));border-radius:12px;padding:0 12px;min-height:46px;color:inherit}.date-search span{font-size:12px;opacity:.7}.date-search input{max-width:145px;font-size:13px}
.category-menu-wrap{position:relative}.category-menu-button{min-height:46px;padding:0 15px;border:1px solid var(--line,rgba(128,128,128,.25));border-radius:12px;background:var(--surface,rgba(128,128,128,.06));color:inherit;font:inherit;cursor:pointer}.category-menu-button>span:first-child{margin-right:7px}.menu-chevron{margin-left:9px;opacity:.65}.category-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:190px;max-height:280px;overflow:auto;padding:6px;border:1px solid var(--line,rgba(128,128,128,.2));border-radius:12px;background:var(--panel,#151a22);box-shadow:0 12px 32px #0003;z-index:20}.category-menu[hidden]{display:none}.category-menu-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:11px 12px;border:0;border-radius:8px;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.category-menu-item:hover,.category-menu-item.active{background:rgba(70,140,230,.15)}.active-filters{font-size:12px;opacity:.7;margin:0 0 18px;cursor:pointer}.pdf-card-icon{width:100%;height:100%;min-height:170px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#14263d,#0b1422);color:#8fc4ff;font-size:42px;font-weight:800;letter-spacing:2px}.featured-image .pdf-card-icon{min-height:230px}.pdf-download-link{white-space:nowrap}.pdf-download-panel{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:18px;margin:24px 0;border:1px solid var(--line,rgba(128,128,128,.25));border-radius:14px;background:var(--surface,rgba(128,128,128,.06))}.pdf-download-panel .pdf-card-icon{width:64px;height:76px;min-height:0;border-radius:8px;font-size:20px}.pdf-download-panel p{margin:5px 0 0;font-size:13px;opacity:.7}.download-button{margin-left:auto;padding:12px 16px;border-radius:9px;background:#2879d0;color:#fff;text-decoration:none;font-weight:700}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.publication-tools{gap:8px}.publication-search{flex-basis:100%}.date-search{flex:1}.date-search input{max-width:none}.category-menu-wrap{flex:0 0 auto}.pdf-download-panel{align-items:flex-start}.download-button{margin-left:0;width:100%;text-align:center}}

/* Partage d'une publication */
.article-share{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:24px 0 8px;padding:14px 0;border-top:1px solid var(--line, #d1d5db);color:var(--muted, #6b7280);font-size:.92rem}
.share-button{border:1px solid currentColor;border-radius:999px;padding:9px 15px;background:transparent;color:inherit;font:inherit;cursor:pointer}
.share-button:hover{opacity:.78}


/* Ancien correctif de lecture remplacé par le défilement de page. */



/* LUNOX_BLOG — lecture longue fiable sur mobile et ordinateur */
body.route-article{overflow-x:hidden;overflow-y:auto;}
body.route-article .site-header,body.route-article .site-footer{display:none!important;}
#post-view.overlay:has(.article-panel){position:relative;inset:auto;display:block;min-height:100vh;overflow:visible;background:var(--paper);z-index:1;}
#post-view .overlay-backdrop{display:none!important;}
#post-view .article-panel{position:relative;display:block;width:100%;height:auto;min-height:100vh;max-height:none;overflow:visible;overscroll-behavior:auto;-webkit-overflow-scrolling:auto;box-shadow:none;animation:none;}
#post-view .article-topbar{position:sticky;top:0;z-index:30;}
.article-top-actions{display:flex;align-items:center;gap:10px;}
.scroll-cue{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);padding:8px 12px;font-size:11px;font-weight:700;cursor:pointer;}
.scroll-cue span{white-space:nowrap;}
.scroll-cue:hover{border-color:var(--accent);color:var(--accent);}
#post-view .article-media,#post-view .article-cover{position:static!important;display:block;max-width:100%;height:auto;max-height:none;object-fit:contain;}
#post-view .article-content{padding-bottom:110px;}
@media(max-width:600px){.scroll-cue{padding:8px 10px;font-size:10px}.article-top-actions{gap:7px}#post-view .article-content{padding-bottom:100px}}
