/*
Theme Name: Rakuen Irezumi
Author: Rakuen
Description: Un écrin littéraire noir, ivoire et or pour Rakuen.
Version: 1.5.1
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: rakuen-irezumi
*/
@font-face{font-family:'Rakuen Libre';src:url('assets/fonts/libre-baskerville-regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Rakuen Libre';src:url('assets/fonts/libre-baskerville-italic.woff') format('woff');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Rakuen Bodoni';src:url('assets/fonts/bodoni-moda.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
:root{--rk-art:url('assets/paradis-nocturne.webp');color-scheme:dark;--rk-bg:#000;--rk-text:#efe5cf;--rk-gold:#cab17a;--rk-muted:#c9c0b0;--rk-rule:#ac956875}*{box-sizing:border-box}html{scroll-behavior:smooth}body{container-type:inline-size;margin:0;background:var(--rk-bg);color:var(--rk-text);font:400 20px/1.5 'Rakuen Libre',Georgia,serif}a{color:inherit;text-underline-offset:6px;text-decoration-thickness:1px}a:hover{color:var(--rk-gold)}a:focus-visible,input:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--rk-gold);outline-offset:5px}.site-shell{max-width:1120px;margin:auto;padding:0 5.2%;position:relative;isolation:isolate;background-color:#000;background-image:linear-gradient(90deg,#000 0%,#000e 22%,#0009 40%,#0002 65%,transparent 80%),var(--rk-art);background-size:100% 100%,100% auto;background-position:top center;background-repeat:no-repeat}.site-header{height:clamp(76px,7.6cqi,85px);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-family:'Rakuen Libre',Georgia,serif;text-decoration:none;font-size:clamp(21px,2.15cqi,24px);line-height:1;letter-spacing:.15em}.brand small{display:block;font:11px/1.4 Georgia,serif;letter-spacing:.25em;margin-top:8px;color:var(--rk-gold)}.site-header nav{font-size:clamp(14px,1.35cqi,15px);line-height:1.2}.site-header nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}.site-header nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--rk-gold);text-underline-offset:8px}.hero{height:clamp(420px,49.1cqi,550px);padding-top:clamp(100px,12.9cqi,145px);width:78%}.hero h1{font:400 clamp(70px,11.6cqi,130px)/1 'Rakuen Bodoni',Georgia,serif;letter-spacing:-.045em;margin:0 0 clamp(35px,5.3cqi,60px);text-transform:uppercase;text-shadow:0 0 22px #000}.enter{display:inline-block;text-decoration:none;border:1px solid var(--rk-gold);padding:10px 22px;background:#0003;color:var(--rk-gold);font-size:clamp(16px,1.65cqi,18.5px);line-height:1.35}.enter span{padding-left:12px}.text-list{width:56%;padding-bottom:48px}.section-title{font:400 clamp(31px,3.7cqi,41px)/1.15 'Rakuen Libre',Georgia,serif;margin:0 0 24px;text-wrap:balance}.entry{border-top:1px solid var(--rk-rule);padding:24px 0 22px}.entry h2{font:400 clamp(27px,3cqi,33.5px)/1.2 'Rakuen Libre',Georgia,serif;margin:0 0 8px;overflow-wrap:anywhere}.entry h2 a{text-decoration:none}.entry time,.eyebrow{display:block;font-size:clamp(11px,1.1cqi,12px);letter-spacing:.2em;text-transform:uppercase;color:var(--rk-gold);line-height:1.5}.excerpt{font:400 clamp(18px,1.82cqi,20.4px)/1.38 'Rakuen Libre',Georgia,serif;color:var(--rk-text)}.excerpt p{margin:17px 0 13px}.read{font-size:clamp(16px,1.65cqi,18px);line-height:1.4}.prose p,.excerpt p{text-align:justify!important;text-align-last:left!important;-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:7 3 3;word-break:normal;overflow-wrap:break-word}.all-texts{margin:24px 0 0}.archive-list{padding-top:52px}.archive-title{font-size:clamp(46px,6.3cqi,70px);line-height:1.1;margin:0 0 28px}.searchform{display:flex;flex-wrap:wrap;align-items:stretch;gap:9px;margin:26px 0 34px}.searchform label{flex:1;min-width:150px}.searchform input{width:100%}input,textarea,button{max-width:100%;border:1px solid var(--rk-rule);background:#050505;color:var(--rk-text);padding:10px 12px;font:400 18px/1.4 'Rakuen Libre',Georgia,serif}button,input[type=submit]{cursor:pointer}.searchform button{color:var(--rk-gold)}.site-footer{border-top:1px solid var(--rk-rule);padding:30px 0 38px;color:var(--rk-muted);font-size:clamp(16px,1.6cqi,18px);line-height:1.6}.site-footer p{margin:0;max-width:78ch}.reading{width:65%;max-width:740px;padding:55px 0 65px}.breadcrumb{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:35px;font-size:16px;line-height:1.4}.breadcrumb a{text-decoration:none}.reading h1{font:400 clamp(43px,6.2cqi,69px)/1.08 'Rakuen Libre',Georgia,serif;letter-spacing:-.02em;margin:0 0 14px;overflow-wrap:anywhere}.reading time.eyebrow{margin-bottom:38px}.prose{font:400 clamp(20px,2.25cqi,25px)/1.5 'Rakuen Libre',Georgia,serif;color:var(--rk-text)}.prose p{margin:0 0 1.25em}.prose h2,.prose h3{font-weight:400;line-height:1.2;text-align:left}.prose blockquote{margin:28px 0;padding:0 0 0 24px;border-left:1px solid var(--rk-gold)}.prose .wp-block-verse,.prose pre{font:inherit;white-space:pre-wrap;text-align:left;hyphens:none;overflow-wrap:anywhere}.prose img,.prose video{max-width:100%;height:auto}.prose iframe,.wp-caption{max-width:100%}.prose figure{margin:24px 0}.prose figcaption{font-size:16px;color:var(--rk-muted)}.prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.prose th,.prose td{padding:8px;border:1px solid var(--rk-rule)}.aligncenter{display:block;margin-inline:auto}.alignleft{float:left;margin:0 20px 20px 0}.alignright{float:right;margin:0 0 20px 20px}.prose:after{content:'';display:block;clear:both}.back-link{margin:35px 0 25px}.post-nav,.nav-links{display:flex;gap:25px;justify-content:space-between;flex-wrap:wrap;font-size:17px;line-height:1.45;margin-top:30px}.page-numbers{padding:6px}.page-numbers.current{color:var(--rk-gold);text-decoration:underline}.comments-area{margin-top:45px}.comments-area h2,.comments-area h3{font-weight:400}.comment-list{padding-left:20px}.comment-body{border-top:1px solid var(--rk-rule);padding:20px 0}.comment-meta{font-size:15px}textarea{width:100%}.sticky{border-color:var(--rk-gold)}.bypostauthor>.comment-body{border-color:var(--rk-gold)}.screen-reader-text,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{width:auto;height:auto;clip-path:none;left:15px;top:10px;background:#000;padding:12px;z-index:10}
@media(max-width:650px){body{font-size:19px}.site-shell{padding:0 6%;background-image:linear-gradient(90deg,#000d 0%,#0009 45%,#0003 90%),var(--rk-art);background-size:100% 100%,auto 880px;background-position:top right}.site-header{height:82px}.brand{font-size:23px}.site-header nav{font-size:16px}.hero{height:390px;width:100%;padding-top:95px}.hero h1{font-size:clamp(56px,15cqi,92px);line-height:1.1;margin-bottom:42px}.enter{font-size:18px;padding:11px 19px}.text-list{width:100%;padding-bottom:38px}.section-title{font-size:33px;margin-bottom:22px}.entry{padding:24px 0}.entry h2{font-size:29px;line-height:1.22}.entry time,.eyebrow{font-size:11px;letter-spacing:.16em}.excerpt{font-size:19.5px;line-height:1.5}.read{font-size:18px}.archive-list{padding-top:30px}.archive-title{font-size:50px}.searchform input,.searchform button{font-size:18px;min-height:44px}.site-footer{font-size:17px;line-height:1.6;padding:25px 0 30px}.reading{width:100%;padding:30px 0 45px}.reading h1{font-size:45px}.breadcrumb{font-size:16px;margin-bottom:30px}.reading time.eyebrow{margin-bottom:28px}.prose{font-size:21px;line-height:1.6}.post-nav{flex-direction:column;gap:20px}.alignleft,.alignright{float:none;display:block;margin:20px auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* The article has its own quiet reading area, blended into the whole canvas. */
.site-shell:has(.reading:not([hidden])){background-size:100% 100%,75% auto;background-position:top center,top right;background-image:linear-gradient(90deg,#000 0%,#000 48%,#000d 61%,#0003 76%,transparent 90%),var(--rk-art)}
@media(max-width:650px){.site-shell:has(.reading:not([hidden])){background-size:100% 100%,auto 880px;background-image:linear-gradient(90deg,#000e,#000c),var(--rk-art)}}


/* Anchor a proportional, stationary decoration to the blog itself. */
.site-shell{--rk-gutter:clamp(20px,5.2cqi,58px);--rk-canvas-height:clamp(650px,125cqi,1400px);padding-inline:var(--rk-gutter);background-image:none;background-attachment:scroll}
.site-shell::before{content:'';display:block;position:sticky;top:0;height:var(--rk-canvas-height);margin-bottom:calc(-1 * var(--rk-canvas-height));margin-inline:calc(-1 * var(--rk-gutter));pointer-events:none;z-index:-1;background-image:linear-gradient(90deg,#000 0%,#000e 22%,#0009 40%,#0002 65%,transparent 80%),var(--rk-art);background-size:100% 100%,100% auto;background-position:top center;background-repeat:no-repeat}
.site-shell:has(.reading:not([hidden])){background-image:none}
.site-shell:has(.reading:not([hidden]))::before{background-size:100% 100%,75% auto;background-position:top center,top right;background-image:linear-gradient(90deg,#000 0%,#000 48%,#000d 61%,#0003 76%,transparent 90%),var(--rk-art)}
.hero{height:clamp(300px,35.7cqi,400px);padding-top:clamp(85px,10.4cqi,116px)}
@media(max-width:650px){.site-shell{--rk-gutter:6cqi;--rk-canvas-height:880px}.site-shell::before{background-image:linear-gradient(90deg,#000e 0%,#000b 45%,#0006 90%),var(--rk-art);background-size:100% 100%,auto 880px;background-position:top right}.site-shell:has(.reading:not([hidden]))::before{background-size:100% 100%,auto 880px;background-position:top right;background-image:linear-gradient(90deg,#000e,#000d),var(--rk-art)}.hero{height:285px;padding-top:70px}}
/* Maintain contrast for every scroll position, without separate text panels. */
.site-shell::before{background-image:linear-gradient(90deg,#000 0%,#000 40%,#000f 50%,#000d 58%,#0005 70%,transparent 84%),var(--rk-art)}
.site-footer p{max-width:60ch}
@media(max-width:650px){.site-shell::before{background-image:linear-gradient(90deg,#000e,#000d 65%,#000b),var(--rk-art)}}
/* Explicit product colors: prevent inherited UI or visited-link colors. */
.site-shell{--rk-text:#f2eadc;--rk-gold:#d0b57d;--rk-muted:#f2eadc;color:var(--rk-text);-webkit-text-fill-color:currentColor}
.site-shell :is(h1,h2,h3,h4,h5,h6,p,li,blockquote,figcaption,.excerpt,.prose,.site-footer,.breadcrumb,.post-nav){color:var(--rk-text)!important;opacity:1;-webkit-text-fill-color:currentColor}
.site-shell a,.site-shell a:visited,.site-shell a:hover,.site-shell a:active{color:var(--rk-text)!important;-webkit-text-fill-color:currentColor}
.site-shell :is(.entry time,time.eyebrow,.eyebrow,.brand small){color:var(--rk-gold)!important;-webkit-text-fill-color:currentColor}
.site-shell .prose :is(span,strong,b,em,i){color:inherit!important;-webkit-text-fill-color:currentColor}
.site-shell :is(input,textarea,button){color:var(--rk-text);-webkit-text-fill-color:currentColor}
.site-shell input::placeholder{color:#c9c0b0;opacity:1}

/* Clear, understated article actions. */
.site-shell .read{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 18px;border:1px solid var(--rk-gold);text-decoration:none;line-height:1.3;background:#0005}
.site-shell .read:hover{background:#d0b57d24;text-decoration:none}
.excerpt{line-height:1.5}

/* Balance the fuller serif against the proportions of the original image mockups. */
.section-title{font-size:clamp(28px,3.3cqi,37px)}
.entry h2{font-size:clamp(25px,2.7cqi,30px)}
.excerpt{font-size:clamp(17px,1.65cqi,18.5px);line-height:1.55}
.prose{font-size:clamp(19px,1.95cqi,22px);line-height:1.7}
.site-footer{font-size:clamp(15px,1.4cqi,16px)}
@media(max-width:650px){.section-title{font-size:29px}.entry h2{font-size:27px}.excerpt{font-size:18px;line-height:1.65}.prose{font-size:19px;line-height:1.75}.site-footer{font-size:16px}}
/* A quieter, justified closing description. */
.site-footer{font-size:14px;line-height:1.75;font-style:italic}
.site-footer p{font-size:inherit;font-style:italic;text-align:justify;text-align-last:left;-webkit-hyphens:auto;hyphens:auto}
@media(max-width:650px){.site-footer{font-size:13px;line-height:1.8}}

@font-face{font-family:'Rakuen Cinzel';src:url('assets/fonts/cinzel.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
.hero h1{font-family:'Rakuen Cinzel',Georgia,serif;font-size:clamp(54px,9.5cqi,106px);letter-spacing:.095em;line-height:1.15;font-weight:400}
.brand{font-family:'Rakuen Cinzel',Georgia,serif;font-size:clamp(19px,1.95cqi,22px);letter-spacing:.12em}
.brand small{font-family:Georgia,serif}
@media(max-width:650px){.hero h1{font-size:clamp(44px,12.4cqi,78px);letter-spacing:.08em}.brand{font-size:20px}}

/* True viewport-fixed background, independent of the article length. */
body{container-type:normal;isolation:isolate}
.site-shell,.site-shell:has(.reading:not([hidden])){background:transparent}
.site-shell::before,.site-shell:has(.reading:not([hidden]))::before{content:none;display:none}
body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background-color:#000;background-image:linear-gradient(90deg,#000 0%,#000 40%,#000f 50%,#000d 58%,#0005 70%,transparent 84%),var(--rk-art);background-size:100% 100%,max(min(100vw,1120px),80vh) auto;background-position:center top;background-repeat:no-repeat}
body:has(.reading:not([hidden]))::before{background-image:linear-gradient(90deg,#000 0%,#000 48%,#000d 61%,#0003 76%,transparent 90%),var(--rk-art);background-size:100% 100%,max(min(75vw,840px),80vh) auto;background-position:center top,calc(50% + min(12.5vw,140px)) top}
@media(max-width:650px){body::before,body:has(.reading:not([hidden]))::before{background-position:center top,right top;background-size:100% 100%,max(100vw,80vh) auto;background-image:linear-gradient(90deg,#000e,#000d 65%,#000b),var(--rk-art)}}
/* Keep the fixed illustration flush with the right edge on wide screens. */
body::before,
body:has(.reading:not([hidden]))::before {
  background-position: center top, right top !important;
}

/* Consistent illustration scale on the index and reading pages. */
body::before,
body:has(.reading:not([hidden]))::before {
  background-size: 100% 100%, min(840px, max(75vw, 80vh)) auto;
  background-position: center top, right top !important;
}
.home-list { padding-top: 42px; }
@media (max-width:650px) {
  body::before,
  body:has(.reading:not([hidden]))::before {
    background-size:100% 100%, min(840px, max(100vw, 80vh)) auto;
  }
  .home-list { padding-top: 24px; }
}
/* Navigation proposal: keep both links on the quiet left side. */
.site-header{justify-content:flex-start;gap:48px}
.site-shell .site-header nav a,
.site-shell .site-header nav a:visited,
.site-shell .site-header nav a:hover,
.site-shell .site-header nav a:active{color:var(--rk-gold)!important}
.site-header nav a:hover{text-decoration:underline}
@media(max-width:650px){.site-header{gap:32px}.site-header nav{font-size:15px}}
/* Align the navigation with the first line of the wordmark. */
.site-header{align-items:baseline;padding-top:20px}
.site-header nav a{align-items:baseline}
