/* ═══════════════════════════════════════════════════════════════════════════
   HOME — "Ink & Red" layout. Loaded after home.css; deliberately overrides its boxes.
   • Left signboard rail replaces the top tab bar (desktop); full-screen menu on mobile.
   • Cover = full-bleed key art. Sections open with a brush-plate title and alternate
     ink / paper bands. Content is typography first: no cards, no outlines.
   ═══════════════════════════════════════════════════════════════════════════ */
:root{--cd-h:38px}
/* kill the legacy boxes in one place; each block below re-composes its own layout */
.fbox,.ic,.rc,.stat-card,.offer-card,.rule-card,.sl,.sc,.gal-folder,.ch,.au-card,.questions-box,.consequences-box,.notice-box,.cq-item,.as-cell,.sk,.apply-wrap .gate,.igrid,.read-grid,.sl-grid,.ls-sec{
  background:none;border:0;box-shadow:none;border-radius:0;outline:0}
.rule-card::before,.ch::before,.offer-card::after,.questions-box::after,.gal-folder::before,.gal-folder::after,.sdiv,.sec-hdr .en::after,.orn::after,.orn::before{display:none!important}

/* ── countdown: a quiet ticker ───────────────────────────────────────────── */
#cd-bar{position:relative;z-index:5;display:flex;align-items:center;justify-content:center;gap:1.4rem;flex-wrap:wrap;padding:.55rem var(--pad);background:var(--blood);color:#FFF4E4;border:0;box-shadow:none;min-height:var(--cd-h)}
#cd-bar .cd-label,#cd-bar .cd-ev{font:700 .78rem/1 var(--f-label);letter-spacing:.28em;text-transform:uppercase;color:#FFF4E4}
#cd-bar .cd-units{display:flex;align-items:baseline;gap:.5rem}
#cd-bar .cd-unit{display:flex;align-items:baseline;gap:.3rem;background:none;border:0;box-shadow:none;padding:0;min-width:0}
#cd-bar .cd-n{font:400 1.35rem/1 var(--f-display);background:none;color:#fff;border:0;padding:0;min-width:0}
#cd-bar .cd-t{font:600 .66rem/1 var(--f-label);letter-spacing:.2em;text-transform:uppercase;opacity:.75}
#cd-bar .cd-sep{opacity:.5}
#cd-bar .cd-x{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);background:none;border:0;color:#fff;opacity:.7}

/* ── cover ───────────────────────────────────────────────────────────────── */
#hdr{position:relative;isolation:isolate;overflow:hidden;min-height:calc(100svh - var(--cd-h));display:flex;align-items:flex-end;padding:0 var(--pad) clamp(4.5rem,11vh,7rem);background:var(--ink);color:#FFF4E4;border:0;box-shadow:none}
#hdr .hdr-art{position:absolute;inset:0;z-index:-3;background:var(--header-bg) 66% 38%/cover no-repeat;transform:scale(1.04);animation:cover-drift 26s ease-in-out infinite alternate}
@keyframes cover-drift{to{transform:scale(1.12) translate(-1.2%,.8%)}}
#hdr::before{content:'';position:absolute;inset:0;z-index:-2;background:
  linear-gradient(90deg,var(--ink) 0%,rgba(11,7,8,.82) 28%,rgba(11,7,8,.15) 62%,transparent 80%),
  linear-gradient(0deg,var(--ink) 0%,transparent 38%),
  radial-gradient(circle at 20% 80%,rgba(179,20,28,.55),transparent 55%)}
#hdr::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:clamp(46px,7vw,92px);z-index:2;background:var(--next-bg,var(--bg));-webkit-mask:var(--torn-top) 0 0/100% 100% no-repeat;mask:var(--torn-top) 0 0/100% 100% no-repeat}
#hdr .hdr-speed,#hdr .hdr-kick{display:none}
#hdr .hdr-inner{position:relative;max-width:min(100%,720px);display:grid;gap:clamp(1.2rem,3vh,2rem);padding:0;background:none;border:0;box-shadow:none}
#hdr .hdr-plate{background:none;border:0;box-shadow:none;padding:0;transform:none;margin:0}
#hdr .glitch-wrap{width:min(100%,620px)}
#hdr .glitch-wrap img{width:100%;height:auto;filter:brightness(0) invert(1) drop-shadow(0 6px 0 rgba(179,20,28,.85));background:none}
#hdr .hdr-tag{margin:1rem 0 0;font:600 .95rem/1 var(--f-serif);letter-spacing:.5em;text-transform:uppercase;color:rgba(255,244,228,.85)}
#hdr .hdr-cta{display:flex;flex-wrap:wrap;gap:.6rem 2rem}
#hdr .hdr-cta .btn{color:#FFF4E4}
.hdr-vert{position:absolute;right:calc(var(--pad)*.6);top:clamp(1rem,6vh,3rem);z-index:1;margin:0;writing-mode:vertical-rl;font:400 clamp(3rem,9vw,8rem)/1 var(--f-jp);letter-spacing:.12em;color:transparent;-webkit-text-stroke:1.5px rgba(255,244,228,.55);pointer-events:none;user-select:none}
/* on inner tabs the cover becomes a slim masthead */
body:not([data-tab="about"]) #hdr{min-height:clamp(240px,34vh,360px);padding-bottom:clamp(3rem,7vh,4.5rem)}
body:not([data-tab="about"]) #hdr .glitch-wrap{width:min(60vw,340px)}
body:not([data-tab="about"]) #hdr .hdr-tag,body:not([data-tab="about"]) #hdr .hdr-cta{display:none}
body:not([data-tab="about"]) .hdr-vert{font-size:clamp(2rem,5vw,4rem)}

/* ── signboard rail (desktop) ────────────────────────────────────────────── */
#nav{position:fixed;left:0;top:0;bottom:0;z-index:400;width:var(--rail);background:var(--nav-bg);color:#F1E7D6;border:0;box-shadow:none;backdrop-filter:none;padding:0}
#nav::after{content:'';position:absolute;top:0;bottom:0;right:-10px;width:10px;background:var(--blood);-webkit-mask:var(--brush-v) 0 0/100% 100% no-repeat;mask:var(--brush-v) 0 0/100% 100% no-repeat;pointer-events:none}
#nav .nav-in{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 0 1.2rem;max-width:none;margin:0}
#nav .nav-brand .gk-stamps{display:flex;flex-direction:column;gap:3px}
#nav .nav-brand .gk-stamp{width:36px;height:36px;font:400 1.05rem/1 var(--f-jp);background:var(--blood);color:#fff;border:0;box-shadow:none;transform:none}
#nav .nav-tabs{display:flex;flex-direction:column;align-items:center;gap:1.25rem;list-style:none;margin:auto 0;padding:0;overflow:visible}
#nav .nav-tabs li{display:block;margin:0}
#nav .nav-tabs li>a{position:relative;isolation:isolate;display:block;padding:.9rem .55rem;writing-mode:vertical-rl;font:400 1.15rem/1 var(--f-display);letter-spacing:.28em;text-transform:uppercase;color:rgba(241,231,214,.62);border:0;transition:color .2s,transform .25s var(--ease-out)}
#nav .nav-tabs li>a::after{content:'';position:absolute;inset:0 -6px;z-index:-1;background:var(--blood);opacity:0;-webkit-mask:var(--brush-v) 0 0/100% 100% no-repeat;mask:var(--brush-v) 0 0/100% 100% no-repeat;transition:opacity .25s;height:auto;width:auto;transform:none}
#nav .nav-tabs li>a:hover{color:#fff;transform:translateX(3px)}
#nav .nav-tabs li>a.active{color:#fff}
#nav .nav-tabs li>a.active::after{opacity:1}
#nav .nav-ctrl{display:flex;flex-direction:column;align-items:center;gap:.9rem}
#nav .tt{display:flex;flex-direction:column;align-items:center;gap:.35rem}
#nav .tt-icon{color:rgba(241,231,214,.6)}
#nav .tt-track{transform:rotate(90deg);margin:.7rem 0}
#dc-login-btn{display:grid;place-items:center;width:44px;height:44px;padding:0;background:#5865F2;color:#fff;border:0;box-shadow:none;border-radius:0}
#dc-login-btn span{display:none}
#dc-login-btn svg{width:20px}
.dc-btn{padding:0;background:none;border:0;box-shadow:none}
.dc-btn .dc-uname,.dc-btn .dc-av-ph,.dc-btn .dc-av{margin:0}
.dc-uname{display:none}
.dc-dd{left:calc(100% + 18px)!important;right:auto!important;top:auto!important;bottom:0!important;border:0;background:var(--ink);box-shadow:0 0 0 2px var(--blood)}

@media(max-width:1099px){
  #nav{display:none}
  .mob-bar{position:fixed;top:.7rem;right:.7rem;left:auto;z-index:450;display:block;width:auto;padding:0;background:none;border:0;box-shadow:none}
  .mob-bar-label{display:none}
  .mob-menu-btn{display:grid;place-items:center;width:52px;height:52px;background:var(--blood);color:#fff;border:0;box-shadow:0 0 0 2px var(--ink),4px 4px 0 var(--ink);-webkit-mask:none;transform:rotate(-3deg)}
  .mob-drawer-ov{background:rgba(0,0,0,.7)}
  .mob-drawer{position:fixed;inset:0;width:100%;max-width:none;height:100%;background:var(--ink);color:#F1E7D6;border:0;box-shadow:none;transform:translateY(-102%);transition:transform .5s var(--ease-out);padding:1.2rem var(--pad) 2rem;display:flex;flex-direction:column;overflow:auto;z-index:1000}
  .mob-drawer::before{content:'極楽街';position:absolute;right:-.15em;bottom:-.12em;font:400 min(60vw,22rem)/1 var(--f-jp);color:var(--blood);opacity:.16;pointer-events:none;writing-mode:vertical-rl}
  .mob-drawer.open{transform:none}
  .mob-drawer-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;border:0;padding:0}
  .mob-drawer-title{font:700 .78rem/1 var(--f-label);letter-spacing:.34em;color:var(--accent)}
  .mob-drawer-close{width:48px;height:48px;background:none;border:2px solid rgba(241,231,214,.4);color:#fff;border-radius:0}
  .mob-nav-list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
  .mob-nav-item{position:relative;border:0;background:none;padding:0}
  .mob-nav-item .mob-nav-label,.mob-nav-row>span:first-child{display:inline-block;font:400 clamp(3.2rem,17vw,6.5rem)/1.02 var(--f-display);letter-spacing:.01em;text-transform:uppercase;color:rgba(241,231,214,.78);transform:skewX(-7deg);transition:color .2s,transform .3s var(--ease-out)}
  .mob-nav-item.active .mob-nav-label,.mob-nav-item.active .mob-nav-row>span:first-child{color:#fff}
  .mob-nav-item.active .mob-nav-label::after{content:'';display:block;height:.12em;margin-top:-.04em;background:var(--blood);-webkit-mask:var(--brush-u) 0 0/100% 100% no-repeat;mask:var(--brush-u) 0 0/100% 100% no-repeat}
  .mob-nav-item[data-tab="about"]::after{content:'概要'}.mob-nav-item[data-tab="manga"]::after{content:'漫画'}.mob-nav-item[data-tab="rules"]::after{content:'規則'}.mob-nav-item[data-tab="info"]::after{content:'情報'}.mob-nav-item[data-tab="staff"]::after{content:'人員'}
  .mob-nav-item::after{position:absolute;right:0;top:.5rem;font:400 1.3rem/1 var(--f-jp);color:var(--blood-hot)}
  .mob-sub-list{list-style:none;display:flex;gap:1.4rem;padding:.4rem 0 .8rem}
  .mob-sub-item{font:600 1rem/1 var(--f-label);letter-spacing:.2em;text-transform:uppercase;color:rgba(241,231,214,.7);padding:.5rem 0}
  .mob-drawer-ctrl{margin-top:auto;padding-top:2rem;position:relative;z-index:1}
}

/* ── section canvas ──────────────────────────────────────────────────────── */
#content{position:relative;max-width:none;margin:0;padding:0;background:var(--bg)}
.sec{position:relative;isolation:isolate;display:none;padding:0 0 clamp(4rem,9vw,8rem);overflow:hidden}
.sec.active{display:block}
#about,#info,#staff{background:none}
#about>*,#manga>*,#rules>*,#info>*,#staff>*{position:relative;z-index:1;padding-left:var(--pad);padding-right:var(--pad)}

/* section opener: ghost kanji + brush-plate title */
.sec-hdr{position:relative;display:block;padding-top:clamp(4rem,9vw,8rem)!important;padding-bottom:clamp(2rem,5vw,4rem);text-align:left;border:0;background:none}
.sec-hdr .jp{position:absolute;right:var(--pad);top:clamp(1rem,4vw,3rem);z-index:-1;writing-mode:vertical-rl;font:400 clamp(4rem,13vw,12rem)/1 var(--f-jp);letter-spacing:.06em;color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--accent) 55%,transparent);margin:0;opacity:1;pointer-events:none}
.sec-hdr .en{position:relative;isolation:isolate;display:inline-block;font:400 clamp(3rem,10vw,8.5rem)/.92 var(--f-display);letter-spacing:.005em;text-transform:uppercase;color:var(--brush-fg,var(--bg));padding:.05em .3em .02em .15em;margin-left:-.12em;transform:skewX(-6deg)}
.sec-hdr .en::before{content:'';position:absolute;z-index:-1;inset:-.1em -.35em -.06em -.2em;background:var(--brush-bg,var(--text));-webkit-mask:var(--brush-a) 0 0/100% 100% no-repeat;mask:var(--brush-a) 0 0/100% 100% no-repeat}
#manga .sec-hdr .en,#rules .sec-hdr .en{--brush-bg:var(--blood);--brush-fg:#FFF4E4}
.sec-hdr .sub{display:block;max-width:56ch;margin-top:2rem;font:500 1.05rem/1.8 var(--f-serif);color:var(--text-dim)}
.orn{position:relative;display:block;margin:clamp(4rem,9vw,7rem) 0 clamp(1.4rem,3vw,2.2rem);padding-bottom:.9rem;font:400 clamp(1.6rem,3.4vw,2.6rem)/1 var(--f-display);letter-spacing:.04em;text-transform:uppercase;color:var(--text);text-align:left;background:none;border:0}
.orn::after{display:block!important;content:'';position:absolute;left:0;bottom:0;width:min(220px,40%);height:14px;background:var(--blood);-webkit-mask:var(--brush-u) 0 0/100% 100% no-repeat;mask:var(--brush-u) 0 0/100% 100% no-repeat}
.lede-c{max-width:60ch;color:var(--text-dim);font-family:var(--f-serif);font-size:1.1rem;text-align:left;margin:0 0 2rem}

/* ── ABOUT (paper) ───────────────────────────────────────────────────────── */
#about::before{content:'';position:absolute;z-index:0;right:0;top:clamp(2rem,6vw,6rem);width:min(54vw,780px);aspect-ratio:1;background:url('/assets/images/series-cover.jpg') center/cover;opacity:.9;-webkit-mask:linear-gradient(90deg,transparent,#000 42%),var(--brush-b) 0 0/100% 100% no-repeat;mask:linear-gradient(90deg,transparent,#000 42%);pointer-events:none}
[data-theme="light"] #about::before{mix-blend-mode:multiply;opacity:.85}
.about-g{display:grid;grid-template-columns:minmax(0,1fr);gap:3rem;margin-top:1rem}
@media(min-width:1000px){.about-g{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:5rem}}
.about-text{max-width:62ch}
.about-text .lead{position:relative;margin:0 0 2.4rem;font:700 clamp(1.5rem,2.9vw,2.4rem)/1.5 var(--f-serif);color:var(--text);padding:0}
.about-text .lead::before{content:'“';position:absolute;left:-.55em;top:-.25em;font:400 3.2em/1 var(--f-display);color:var(--blood)}
.about-text p{font-size:1.06rem}
.about-text strong{color:var(--accent)}
.qlinks{display:flex;flex-wrap:wrap;gap:.8rem 2rem;margin-top:2.4rem}
.fbox.synopsis{padding:0;align-self:end}
.fbox.synopsis h3{display:inline-block;margin:0 0 1.2rem;font:400 1.3rem/1 var(--f-display);letter-spacing:.08em;text-transform:uppercase;color:var(--text)}
.fbox.synopsis p{font-size:.98rem;color:var(--text-dim)}
@media(min-width:1000px){.fbox.synopsis{max-width:none;padding-top:8rem}}
.igrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2.4rem 3rem}
.ic{padding:0;background:none}
.icl{font:700 .72rem/1 var(--f-label);letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:.55rem}
.icv{font:700 clamp(1.2rem,2vw,1.6rem)/1.3 var(--f-serif);color:var(--text)}
.read-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.rc{position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;padding:1.3rem 0;color:var(--text);transition:color .2s,padding .3s var(--ease-out)}
.rc>div:not(.rc-ico){display:flex;flex:1;align-items:baseline;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.rc-ico{display:none}
.rc-title{font:400 clamp(2.2rem,6.4vw,5rem)/1 var(--f-display);text-transform:uppercase;letter-spacing:.005em;transform:skewX(-6deg);transition:transform .3s var(--ease-out)}
.rc-sub{font:600 .86rem/1.3 var(--f-label);letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted)}
.rc::after{content:'↗';font:400 clamp(1.6rem,4vw,3rem)/1 var(--f-display);color:var(--blood);transition:transform .3s var(--ease-out)}
.rc:hover{color:var(--accent);padding-left:1.4rem}
.rc:hover::after{transform:translate(6px,-6px)}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2.5rem 3rem}
.stat-card{padding:0;text-align:left;background:none}
.stat-icon{display:none}
.stat-val{font:400 clamp(4rem,10vw,8.5rem)/.9 var(--f-display);color:var(--accent);transform:skewX(-6deg);display:inline-block;letter-spacing:-.01em}
.stat-label{margin-top:.8rem;font:700 .8rem/1.3 var(--f-label);letter-spacing:.28em;text-transform:uppercase;color:var(--text-dim)}
.offer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:3rem 3.5rem;counter-reset:offer}
.offer-card{position:relative;padding:3.6rem 0 0;counter-increment:offer;background:none}
.offer-card::before{content:counter(offer,decimal-leading-zero);position:absolute;left:0;top:0;font:400 4.4rem/1 var(--f-display);color:transparent;-webkit-text-stroke:1.5px var(--accent);transform:skewX(-6deg)}
.offer-icon{display:none}
.offer-card h4{font:400 1.7rem/1.1 var(--f-display);text-transform:uppercase;letter-spacing:.03em;margin:0 0 .7rem;color:var(--text)}
.offer-card p{font-size:.98rem;color:var(--text-dim)}

/* ── MANGA (ink) ─────────────────────────────────────────────────────────── */
#manga::before{content:'';position:absolute;z-index:0;left:0;right:0;top:0;height:min(80vh,720px);background:url('/assets/covers/1784086685110_Untitled556_20260715102018.jpg') 50% 20%/cover;opacity:.2;filter:grayscale(1) contrast(1.3);-webkit-mask:linear-gradient(180deg,#000,transparent);mask:linear-gradient(180deg,#000,transparent);pointer-events:none}
.subnav{display:flex;gap:2.2rem;flex-wrap:wrap;margin:0 0 3rem;padding-bottom:0;border:0;background:none}
.sn-btn{position:relative;isolation:isolate;padding:.4rem .2rem;background:none;border:0;cursor:pointer;font:400 clamp(1.5rem,3vw,2.2rem)/1 var(--f-display);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);box-shadow:none;transition:color .2s}
.sn-btn:hover{color:var(--text)}
.sn-btn.active{color:#FFF4E4}
.sn-btn.active::before{content:'';position:absolute;z-index:-1;inset:-.12em -.5em -.05em -.4em;background:var(--blood);-webkit-mask:var(--brush-s) 0 0/100% 100% no-repeat;mask:var(--brush-s) 0 0/100% 100% no-repeat}
.st{font:400 clamp(1.6rem,3vw,2.4rem)/1 var(--f-display);text-transform:uppercase;letter-spacing:.04em;margin:0}
.st-jp{font:700 1rem/1 var(--f-serif);color:var(--accent);margin:.5rem 0 2rem;letter-spacing:.2em}
.gal-folders-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0;counter-reset:folder}
.gal-folder{position:relative;counter-increment:folder;display:flex;align-items:baseline;gap:1.4rem;padding:1.1rem 0;cursor:pointer;color:var(--text);text-align:left;background:none;transition:color .2s,padding .3s var(--ease-out)}
.gal-folder::before{display:block!important;content:counter(folder,decimal-leading-zero);position:static;width:auto;height:auto;background:none;font:400 1.3rem/1 var(--f-display);color:var(--accent);letter-spacing:.06em}
.gal-folder-icon{display:none}
.gal-folder-name{flex:1;font:400 clamp(1.8rem,5vw,3.6rem)/1 var(--f-display);text-transform:uppercase;transform:skewX(-6deg);transition:transform .3s var(--ease-out)}
.gal-folder-count{font:600 .85rem/1 var(--f-label);letter-spacing:.24em;text-transform:uppercase;color:var(--text-muted)}
.gal-folder:hover{color:var(--accent);padding-left:1.2rem}
.gal-folder-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem}
.gal-folder-header h3{font:400 clamp(1.8rem,4vw,3rem)/1 var(--f-display);text-transform:uppercase}
.gal-back-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 0;background:none;border:0;cursor:pointer;font:700 .85rem/1 var(--f-label);letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.gal-images-grid,#gal-folder-images{display:block!important;columns:3 260px;column-gap:1.4rem}
.gal-img-thumb{display:block;break-inside:avoid;margin:0 0 1.4rem;position:relative;overflow:hidden;background:none;border:0;box-shadow:none;aspect-ratio:auto;transition:transform .35s var(--ease-out)}
.gal-img-thumb img{width:100%;height:auto;display:block;filter:saturate(.85) contrast(1.05);transition:filter .3s,transform .5s var(--ease-out)}
.gal-img-thumb:hover img{filter:none;transform:scale(1.04)}
.fine-print{margin-top:3rem;font:600 .8rem/1.7 var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);padding:0;border:0;background:none}
.fine-print.box{padding:0}
.ch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));gap:3.2rem 4rem}
.ch{position:relative;display:grid;grid-template-columns:132px minmax(0,1fr);gap:1.4rem;align-items:start;padding:0;overflow:visible;background:none}
.ch-img{width:132px;height:132px;object-fit:cover;object-position:top;border:0;outline:0;background:var(--surface2);filter:grayscale(1) contrast(1.15);-webkit-mask:var(--brush-s) 0 0/100% 100% no-repeat;mask:var(--brush-s) 0 0/100% 100% no-repeat;border-radius:0;transition:filter .3s,transform .4s var(--ease-out)}
.ch:hover .ch-img{filter:none;transform:rotate(-3deg) scale(1.06)}
.ch-info h3{font:400 2rem/1 var(--f-display);text-transform:uppercase;letter-spacing:.02em}
.ch-info p{font-size:.95rem;color:var(--text-dim);margin:.5rem 0 .8rem}
.ch-tag{display:inline-block;padding:0;border:0;background:none;font:700 .72rem/1 var(--f-label);letter-spacing:.28em;text-transform:uppercase;color:var(--accent)}

/* ── RULES (ink) ─────────────────────────────────────────────────────────── */
#rules::before{content:'';position:absolute;z-index:0;right:-6vw;top:0;width:min(70vw,900px);aspect-ratio:1;background:var(--splat) 0 0/contain no-repeat;background-color:var(--blood);-webkit-mask:var(--splat) 0 0/contain no-repeat;mask:var(--splat) 0 0/contain no-repeat;opacity:.16;pointer-events:none}
.rules-page-hdr{padding-top:clamp(4rem,9vw,8rem)!important;padding-bottom:2rem}
.rules-page-hdr h2{position:relative;isolation:isolate;display:inline-block;margin:0;padding:.05em .3em .02em .15em;font:400 clamp(3rem,10vw,8.5rem)/.92 var(--f-display);text-transform:uppercase;color:#FFF4E4;transform:skewX(-6deg)}
.rules-page-hdr h2::before{content:'';position:absolute;z-index:-1;inset:-.1em -.35em -.06em -.2em;background:var(--blood);-webkit-mask:var(--brush-a) 0 0/100% 100% no-repeat;mask:var(--brush-a) 0 0/100% 100% no-repeat}
.rules-page-hdr p{max-width:56ch;margin-top:2rem;font:500 1.1rem/1.85 var(--f-serif);color:var(--text-dim)}
.rules-card-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0;counter-reset:rule;max-width:1100px}
.rule-card{position:relative;counter-increment:rule;display:grid;grid-template-columns:clamp(70px,11vw,150px) minmax(0,1fr);gap:0 1.5rem;align-items:start;padding:2rem 0;transition:transform .3s var(--ease-out)}
.rule-card::before{display:block!important;content:counter(rule,decimal-leading-zero);position:static;width:auto;height:auto;background:none;font:400 clamp(3.4rem,8vw,6.5rem)/.85 var(--f-display);color:transparent;-webkit-text-stroke:2px var(--blood-hot);transform:skewX(-6deg);transition:color .25s}
.rule-card:hover::before{color:var(--blood-hot)}
.rule-card-icon{display:none}
.rule-card-body h4{font:400 clamp(1.5rem,3vw,2.3rem)/1.1 var(--f-display);text-transform:uppercase;letter-spacing:.02em;margin:0 0 .6rem;color:var(--text)}
.rule-card-body p{max-width:64ch;color:var(--text-dim);font-size:1.02rem}
.consequences-box{margin-top:clamp(4rem,8vw,7rem);padding:0}
.consequences-title,.strikes-title{font:400 clamp(2rem,4.4vw,3.4rem)/1 var(--f-display);text-transform:uppercase;letter-spacing:.02em;margin:0 0 2rem;color:var(--text)}
.consequences-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2.6rem 3rem}
.cq-item{padding:0}
.cq-icon{display:none}
.cq-title{font:400 1.5rem/1.1 var(--f-display);text-transform:uppercase;color:var(--accent);margin-bottom:.6rem}
.cq-body{color:var(--text-dim);font-size:1rem}
.strikes-wrap{margin-top:clamp(4rem,8vw,7rem);max-width:1100px}
.strikes-list{display:grid;gap:0;counter-reset:strike;margin-top:2.4rem}
.sk{counter-increment:strike;position:relative;display:grid;grid-template-columns:clamp(60px,10vw,130px) minmax(0,1fr);gap:0 1.5rem;align-items:start;padding:1.6rem 0;background:none}
.sk::before{content:counter(strike);font:400 clamp(4rem,10vw,8rem)/.8 var(--f-display);color:color-mix(in srgb,var(--blood-hot) calc(var(--sev,1)*15%),var(--text-muted));transform:skewX(-6deg);text-align:left}
.sk:nth-child(1){--sev:1}.sk:nth-child(2){--sev:2}.sk:nth-child(3){--sev:3}.sk:nth-child(4){--sev:4}.sk:nth-child(5){--sev:5}.sk:nth-child(6){--sev:7}
.sk-num{position:absolute;left:-9999px}
.sk-body h4{font:400 clamp(1.4rem,2.6vw,2rem)/1.15 var(--f-display);text-transform:uppercase;letter-spacing:.02em;margin:0 0 .5rem}
.sk-body p{max-width:62ch;color:var(--text-dim)}
.sk.s6 .sk-body h4{color:var(--blood-hot)}
.notice-box{margin:clamp(3rem,6vw,5rem) 0;padding:0;max-width:760px}
.notice-tag{display:inline-block;position:relative;isolation:isolate;margin:0 0 1.2rem;padding:.2em .9em;font:400 1.3rem/1 var(--f-display);text-transform:uppercase;color:#FFF4E4;letter-spacing:.06em}
.notice-tag::before{content:'';position:absolute;z-index:-1;inset:-.2em -.4em;background:var(--blood);-webkit-mask:var(--brush-s) 0 0/100% 100% no-repeat;mask:var(--brush-s) 0 0/100% 100% no-repeat}
.notice-body{font:500 1.2rem/1.8 var(--f-serif);color:var(--text)}
.appeal-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2.6rem 4rem;margin-top:3rem}
.as-head{display:flex;align-items:center;gap:.7rem;margin-bottom:.8rem}
.as-tag{font:400 1.5rem/1 var(--f-display);text-transform:uppercase;color:var(--accent)}
.as-head svg{width:22px;height:22px;stroke:var(--accent)}
.questions-box{margin-top:3.5rem;padding:0;display:grid;gap:1rem;max-width:760px;text-align:left}
.qb-icon{display:none}
.qb-title{font:400 clamp(2rem,4.4vw,3.2rem)/1 var(--f-display);text-transform:uppercase;letter-spacing:.02em}
.qb-body{color:var(--text-dim);font-size:1.02rem}
.questions-box .btn{justify-self:start;margin-top:.8rem}

/* ── INFO (paper) ────────────────────────────────────────────────────────── */
.au-card{display:grid;grid-template-columns:minmax(0,1fr);gap:2.4rem;align-items:start;padding:0}
@media(min-width:900px){.au-card{grid-template-columns:minmax(260px,5fr) minmax(0,7fr);gap:4.5rem}}
.au-img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1) contrast(1.25);border:0;-webkit-mask:var(--brush-b) 0 0/100% 100% no-repeat;mask:var(--brush-b) 0 0/100% 100% no-repeat;border-radius:0;box-shadow:none}
.au-info h3{font:400 clamp(3rem,7vw,5.6rem)/.92 var(--f-display);text-transform:uppercase;transform:skewX(-6deg);margin:0}
.au-jp{font:700 1.2rem/1 var(--f-serif);color:var(--accent);letter-spacing:.3em;margin:.8rem 0 1.6rem}
.au-info p{max-width:60ch;color:var(--text-dim)}
.au-links{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin-top:1.8rem}
.ls-sec{padding:0;margin:0 0 2rem}
.ls-sec h3{font:700 .8rem/1 var(--f-label);letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin:0 0 1rem}
.sl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:0 4rem}
.sl{display:flex;align-items:center;gap:1rem;padding:1rem 0;color:var(--text);transition:color .2s,padding .25s var(--ease-out)}
.sl-ico{display:grid;place-items:center;width:28px;color:var(--accent);background:none;border:0;box-shadow:none}
.sl-name{font:400 1.7rem/1 var(--f-display);text-transform:uppercase;letter-spacing:.02em}
.sl-sub{font:600 .82rem/1.3 var(--f-label);letter-spacing:.14em;color:var(--text-muted);text-transform:uppercase}
.sl:hover{color:var(--accent);padding-left:.9rem}

/* ── STAFF (paper) ───────────────────────────────────────────────────────── */
.staff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:3rem 2.4rem}
.sc{position:relative;display:grid;gap:1rem;justify-items:start;padding:0;cursor:pointer;background:none;transition:transform .3s var(--ease-out)}
.sc-av-wrap{position:relative;width:min(100%,200px);aspect-ratio:1;background:var(--surface2);border:0;border-radius:0;box-shadow:none;overflow:hidden;-webkit-mask:var(--brush-s) 0 0/100% 100% no-repeat;mask:var(--brush-s) 0 0/100% 100% no-repeat;display:grid;place-items:center}
.sc-av-wrap img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1);transition:filter .3s,transform .4s var(--ease-out)}
.sc:hover .sc-av-wrap img{filter:none;transform:scale(1.07)}
.sc-av-initials{font:400 3.6rem/1 var(--f-display);color:var(--accent)}
.sc-body{display:grid;gap:.2rem}
.sc-role{font:700 .72rem/1 var(--f-label);letter-spacing:.3em;text-transform:uppercase;color:var(--accent)}
.sc-name{font:400 1.9rem/1.05 var(--f-display);text-transform:uppercase;letter-spacing:.02em}
.sc-handle{font:600 .85rem/1 var(--f-label);letter-spacing:.1em;color:var(--text-muted)}
.sc-view{padding:0;background:none;border:0;font:700 .76rem/1 var(--f-label);letter-spacing:.26em;text-transform:uppercase;color:var(--text);cursor:pointer;opacity:.0;transform:translateX(-8px);transition:opacity .2s,transform .25s var(--ease-out)}
.sc:hover .sc-view,.sc:focus-within .sc-view{opacity:1;transform:none;color:var(--accent)}
@media(hover:none){.sc-view{opacity:.8;transform:none}}
.sc-status-dot{display:none}
.apply-wrap{max-width:820px;margin-top:2rem}
.gate{padding:0;text-align:left;display:grid;gap:1rem;justify-items:start}
.gate-ico{display:none}
.gate h3{font:400 clamp(2rem,4vw,3rem)/1 var(--f-display);text-transform:uppercase}
.gate p{color:var(--text-dim)}
.af{display:grid;gap:1.6rem}
.af .fg label,.af label{font:700 .76rem/1.3 var(--f-label);letter-spacing:.26em;text-transform:uppercase;color:var(--accent)}
.af-intro p{font:500 1.05rem/1.8 var(--f-serif)}
.af-role-title{font:400 1.8rem/1 var(--f-display);text-transform:uppercase;color:var(--text);margin-top:1.4rem}
.af-rule{height:0;border:0;background:none}

/* ── FOOTER ──────────────────────────────────────────────────────────────── */
#ft{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:#F1E7D6;margin:0;padding:clamp(6rem,12vw,10rem) var(--pad) 2.5rem;border:0}
#ft::before{content:'';position:absolute;left:0;right:0;top:-1px;height:clamp(46px,7vw,92px);background:var(--bg);-webkit-mask:var(--torn-bottom) 0 0/100% 100% no-repeat;mask:var(--torn-bottom) 0 0/100% 100% no-repeat;z-index:1}
#ft::after{content:'極楽街';position:absolute;left:50%;bottom:-.2em;transform:translateX(-50%);z-index:-1;font:400 clamp(9rem,34vw,30rem)/1 var(--f-jp);color:var(--blood);opacity:.2;white-space:nowrap;pointer-events:none}
#ft .ft-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:3rem 2.5rem;max-width:1400px;margin:0 auto;padding:0;background:none;border:0}
.ft-col-brand{font:400 2.2rem/1 var(--f-display);letter-spacing:.06em;margin-bottom:1rem;color:#fff}
.ft-col-desc{color:#CFC2AE;font-size:.95rem}
.ft-col-title{font:700 .78rem/1 var(--f-label);letter-spacing:.32em;text-transform:uppercase;color:var(--blood-hot);margin-bottom:1.1rem}
#ft ul{list-style:none;margin:0;padding:0;display:grid;gap:.1rem}
#ft li a{display:inline-block;padding:.32rem 0;color:#E6DAC6;font:500 1rem/1.4 var(--f-body);transition:color .15s,transform .2s var(--ease-out)}
#ft li a:hover{color:#fff;transform:translateX(5px)}
.ft-disc-label{font:700 .72rem/1 var(--f-label);letter-spacing:.3em;text-transform:uppercase;color:#CFC2AE;margin-bottom:.6rem}
.ft-disc-btn{display:inline-block;position:relative;isolation:isolate;padding:.6rem 1.6rem;font:400 1.1rem/1 var(--f-display);letter-spacing:.06em;text-transform:uppercase;color:#fff;background:none;border:0;box-shadow:none}
.ft-disc-btn::before{content:'';position:absolute;inset:-.1em -.2em;z-index:-1;background:#5865F2;-webkit-mask:var(--brush-s) 0 0/100% 100% no-repeat;mask:var(--brush-s) 0 0/100% 100% no-repeat}
.ft-divider{display:none}
#ft .ft-bottom,#ft .ft-copy{color:#9D8F7D}

/* ── fixes after first render ── */
#hdr{justify-content:flex-start}
#hdr .hdr-inner{align-items:flex-start;text-align:left;padding:0;margin-left:calc(var(--pad)*.4)}
.sec-hdr .jp{position:static;writing-mode:horizontal-tb;display:block;margin:0 0 1.6rem;font:700 1.15rem/1 var(--f-serif);letter-spacing:.5em;color:var(--accent);-webkit-text-stroke:0;text-shadow:none;opacity:1}
[data-theme="light"] .sec-hdr .jp{text-shadow:none;color:var(--accent)}
.sec-hdr::after{content:attr(data-k);position:absolute;right:var(--pad);top:.5rem;z-index:-1;writing-mode:vertical-rl;font:400 clamp(5rem,15vw,13rem)/1 var(--f-jp);color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--accent) 45%,transparent);pointer-events:none}
.about-text .lead{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;font-family:var(--f-serif)!important;font-weight:700}
.sec-hdr .en{-webkit-text-stroke:0;text-shadow:none}

/* ── round 2 ── */
.sec-hdr .en{color:var(--text);padding:0;margin-left:0}
.sec-hdr .en::before{inset:auto -.1em -.14em -.05em;height:.2em;background:var(--blood);-webkit-mask:var(--brush-u) 0 0/100% 100% no-repeat;mask:var(--brush-u) 0 0/100% 100% no-repeat}
#manga .sec-hdr .en,#rules .sec-hdr .en{color:var(--text)}
.rules-page-hdr h2{color:var(--text)}
.rules-page-hdr h2::before{inset:auto -.1em -.14em -.05em;height:.2em}
.ic::before{display:none}.ic:hover{transform:none;box-shadow:none}
.synopsis{transform:none!important}
#about::before{top:clamp(6rem,10vw,9rem);width:min(46vw,640px)}
.fbox.synopsis{padding-top:0}
@media(min-width:1000px){.fbox.synopsis{padding-top:clamp(14rem,24vw,22rem)}}
.fbox.synopsis{position:relative;z-index:2}

/* ── round 3 ── */
.fbox::before{display:none!important}
.fbox{color:var(--text);box-shadow:none!important}
.fbox p{color:var(--text-dim)}
.fbox h3{color:var(--text)}
.orn::after{left:var(--pad)}
.offer-card{padding-top:5.4rem}
.offer-card::before{top:.4rem}
#ft{border-top:0;margin-top:0;background:var(--ink)}
#ft::before{opacity:1;mask:var(--torn-bottom) 0 0/100% 100% no-repeat;-webkit-mask:var(--torn-bottom) 0 0/100% 100% no-repeat;background:var(--bg);height:clamp(46px,7vw,92px)}
#ft::after{left:auto;right:-1rem;transform:none;opacity:.2;bottom:-2.6rem}
.ft-col-title{border:0!important;padding:0!important}

/* ── round 4: backdrop fade + mobile ── */
#manga::before{opacity:1;filter:none;-webkit-mask:none;mask:none;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 80%,transparent),var(--bg) 96%),url('/assets/covers/1784086685110_Untitled556_20260715102018.jpg') 50% 20%/cover}
@media(max-width:699px){
  #hdr .hdr-inner{margin-left:0;max-width:100%}
  #hdr .glitch-wrap{width:100%}
  #hdr .hdr-tag{letter-spacing:.3em;font-size:.8rem}
  .hdr-vert{font-size:3.4rem}
  .about-text .lead::before{left:0;top:-1.1em}
  .about-text .lead{padding-top:1.4rem!important}
  #about::before{width:80vw;top:12rem;opacity:.5}
  .sec-hdr .en{font-size:clamp(2.8rem,14vw,4.5rem)}
  .rc-title{font-size:2.3rem}
  .sec-hdr::after{font-size:6rem}
}
@media(max-width:999px){
  #about::before{position:relative;display:block;width:100%;aspect-ratio:16/10;top:0;opacity:1;margin:0;-webkit-mask:linear-gradient(180deg,#000 60%,transparent);mask:linear-gradient(180deg,#000 60%,transparent)}
  .sec-hdr{padding-top:1.5rem!important}
  .about-text .lead{margin-top:1.5rem}
  .about-text .lead::before{position:static;display:block;height:.5em;margin-bottom:.4rem}
}
.au-img{height:auto!important;max-height:none!important;max-width:380px;aspect-ratio:4/5;justify-self:start}
.au-card>*:first-child{min-width:0}
#hdr .hdr-art::after,#hdr .gk-lantern,#hdr .hdr-lan{display:none}

/* ── round 5: read links hover, compact mobile info + stats ── */
.rc,.rc:hover,.rc:active,.rc:focus,.rc:focus-visible{box-shadow:none!important;border:0!important;background:none!important;transform:none!important;outline:0}
.rc{padding:1.1rem 0!important;color:var(--text)}
.rc:hover,.rc:hover .rc-sub{padding-left:0!important}
.rc .rc-title{position:relative;display:inline-block;background:linear-gradient(var(--blood),var(--blood)) 0 100%/0 .1em no-repeat;transition:background-size .35s var(--ease-out),color .2s}
@media(hover:hover){.rc:hover{color:var(--text)}.rc:hover .rc-title{background-size:100% .1em;transform:skewX(-6deg)}.rc:hover::after{transform:translate(4px,-4px)}}
.rc:focus-visible .rc-title{background-size:100% .1em}
.rc:active .rc-title{color:var(--blood)}
.rc:active::after{transform:translate(4px,-4px)}
@media(max-width:699px){
  .rc{align-items:center}
  .rc>div:not(.rc-ico){flex-direction:column;align-items:flex-start;gap:.35rem}
  .rc-title{font-size:2.1rem!important}
  /* manga details as a two-column table */
  .igrid{display:grid;grid-template-columns:1fr;gap:0}
  .ic{display:grid;grid-template-columns:38% 1fr;gap:1rem;align-items:baseline;padding:.8rem 0!important;border-bottom:1px solid var(--line)!important}
  .ic:first-child{border-top:1px solid var(--line)!important}
  .icl{margin:0}
  .icv{font-size:1.05rem}
  /* stats as a 2x2 grid */
  .stats-grid{grid-template-columns:1fr 1fr;gap:1.8rem 1rem}
  .stat-val{font-size:clamp(3rem,16vw,4.4rem)}
  .stat-label{font-size:.68rem;letter-spacing:.18em;margin-top:.5rem}
}
@media(max-width:699px){
  .igrid{grid-template-columns:1fr 1fr;gap:1.6rem 1.2rem}
  .ic{display:block;padding:0!important;border:0!important}
  .ic:first-child{border:0!important}
  .icl{margin:0 0 .35rem;font-size:.68rem}
  .icv{font-size:1.05rem;line-height:1.3}
}

/* ═══ round 6 — consistent theming, honest hovers, new gallery / rules / staff / rail ═══ */
/* tokens for the archive folders (kraft in light, oxblood in dark) */
:root[data-theme="dark"]{--fd-back:#34121A;--fd-front:#4A1A22;--fd-sheet:#E9DDC6;--fd-ink:#F1E7D6;--fd-mute:rgba(241,231,214,.6)}
:root[data-theme="light"]{--fd-back:#BBA374;--fd-front:#CDB887;--fd-sheet:#FBF6EA;--fd-ink:#2A1B14;--fd-mute:rgba(42,27,20,.62)}

/* ── 2/6. informational blocks: no button-like motion; quiet tonal response ── */
.stat-card,.offer-card,.ic,.ch,.cq-item,.as-cell{transition:background-color .35s ease}
.stat-card:hover,.offer-card:hover,.ic:hover,.ch:hover,.cq-item:hover,.as-cell:hover{transform:none!important;box-shadow:none!important;border:0!important;
  background:color-mix(in srgb,var(--text) 5%,transparent)!important}
.stat-card,.offer-card,.cq-item{padding:1rem 1.1rem!important;margin:-1rem -1.1rem}
.offer-card{padding-top:5.2rem!important}
.stat-card:hover .stat-val,.offer-card:hover::before{transition:color .3s,-webkit-text-stroke-color .3s}
.offer-card:hover::before{color:color-mix(in srgb,var(--accent) 22%,transparent)}
.offer-card:hover h4{color:var(--accent)}
.stat-val{transition:color .3s}

/* ── 3. Gallery / Characters switch ── */
.subnav{display:flex;gap:clamp(1.6rem,5vw,3.4rem);margin:0 0 3rem;padding:0;border:0;background:none;counter-reset:sn}
.sn-btn{position:relative;isolation:isolate;display:inline-flex;align-items:baseline;gap:.55rem;padding:.3rem 0 .9rem;background:none!important;border:0!important;box-shadow:none!important;transform:none!important;clip-path:none;border-radius:0;
  font:400 clamp(1.7rem,3.6vw,2.6rem)/1 var(--f-display);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;counter-increment:sn;transition:color .25s}
.sn-btn::before{content:counter(sn,decimal-leading-zero);position:static;inset:auto;z-index:auto;-webkit-mask:none;mask:none;background:none;opacity:1;
  font:700 .72rem/1 var(--f-label);letter-spacing:.28em;color:var(--text-muted);transition:color .25s}
.sn-btn::after{content:'';position:absolute;left:0;right:0;bottom:0;height:.55rem;background:var(--blood);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-out);
  -webkit-mask:var(--brush-u) 0 0/100% 100% no-repeat;mask:var(--brush-u) 0 0/100% 100% no-repeat}
.sn-btn:hover{color:var(--text)}
.sn-btn.active{color:var(--text)}
.sn-btn.active::before{color:var(--accent)}
.sn-btn.active::after{transform:scaleX(1)}
.sn-btn:focus-visible{outline:2px solid var(--accent);outline-offset:4px}

/* ── 4. Gallery folders: an archive shelf ── */
.gal-folders-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:3rem 2rem;counter-reset:folder;padding-top:1rem}
.gal-folder{position:relative;counter-increment:folder;display:flex;flex-direction:column;justify-content:flex-end;aspect-ratio:5/4;margin:0;padding:0 1.2rem 1.1rem;gap:.15rem;
  background:var(--fd-back)!important;border:0!important;border-radius:3px 10px 10px 10px;color:var(--fd-ink);text-align:left;cursor:pointer;
  box-shadow:none!important;transform-origin:50% 90%;transition:transform .45s var(--ease-out),filter .45s}
.gal-folder::before{display:block!important;content:'';position:absolute;left:0;top:-15px;width:42%;height:16px;background:var(--fd-back);
  clip-path:polygon(0 0,calc(100% - 16px) 0,100% 100%,0 100%);border-radius:0}
.gal-folder::after{display:block!important;content:'';position:absolute;z-index:0;left:7%;right:9%;top:9%;bottom:42%;background:var(--fd-sheet);transform:rotate(-1.4deg);
  box-shadow:0 0 0 1px rgba(0,0,0,.1);transition:transform .45s var(--ease-out)}
.gal-folder-icon{display:block!important;position:absolute;z-index:1;left:0;right:0;bottom:0;top:30%;background:var(--fd-front);border-radius:3px 10px 10px 10px;
  box-shadow:0 -2px 0 rgba(255,255,255,.06) inset}
.gal-folder-icon svg{display:none}
.gal-folder-name,.gal-folder-count{position:relative;z-index:2}
.gal-folder-name{flex:none;transform:none!important;font:400 clamp(1.35rem,2vw,1.75rem)/1.05 var(--f-display);text-transform:uppercase;letter-spacing:.02em;color:var(--fd-ink)}
.gal-folder-name::before{content:'No. ' counter(folder,decimal-leading-zero);display:block;margin-bottom:.35rem;font:700 .68rem/1 var(--f-label);letter-spacing:.3em;color:var(--fd-mute)}
.gal-folder-count{font:600 .8rem/1 var(--f-label);letter-spacing:.22em;text-transform:uppercase;color:var(--fd-mute)}
.gal-folder:hover{transform:scale(1.045)!important;filter:drop-shadow(0 16px 16px rgba(0,0,0,.3));background:var(--fd-back)!important;padding-left:1.2rem!important;color:var(--fd-ink)}
.gal-folder:hover::after{transform:translateY(-10px) rotate(-2.4deg)}
.gal-folder:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.gal-folder:hover .gal-folder-name{color:var(--fd-ink)}

/* ── 5. Rules: two balanced columns on desktop ── */
.rules-card-grid{grid-template-columns:minmax(0,1fr);max-width:1320px;column-gap:clamp(2.5rem,6vw,6rem);align-items:start}
@media(min-width:900px){.rules-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rule-card{grid-template-columns:clamp(52px,5.4vw,78px) minmax(0,1fr)!important;gap:0 1rem!important;padding:1.1rem 0!important;transition:background-color .3s;cursor:pointer}
.rule-card::before{font-size:clamp(2.5rem,4.4vw,3.8rem)!important;-webkit-text-stroke-width:1.5px!important}
.rule-card:hover{transform:none!important;box-shadow:none!important;background:none!important}
.rule-card:hover::before{color:color-mix(in srgb,var(--blood-hot) 30%,transparent)}
.rule-card-body h4{font-size:clamp(1.3rem,2vw,1.7rem)!important;margin-bottom:.35rem!important;transition:color .25s}
.rule-card:hover .rule-card-body h4{color:var(--accent)}
.rule-card-body p{font-size:.97rem;max-width:none}
.strikes-list{grid-template-columns:minmax(0,1fr);max-width:none;column-gap:clamp(2.5rem,6vw,6rem)}
@media(min-width:900px){.strikes-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sk{grid-template-columns:clamp(46px,5vw,70px) minmax(0,1fr)!important;padding:1rem 0!important}
.sk::before{font-size:clamp(2.8rem,5vw,4.2rem)!important}
.sk:hover{transform:none!important;box-shadow:none!important}
.strikes-wrap{max-width:1320px}
.rules-page-hdr{padding-bottom:1rem}

/* ── 6. Characters: the original torn-brush portraits; informational, so hover only restores colour ── */
.ch-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:2.4rem 3.2rem}
.ch{grid-template-columns:132px minmax(0,1fr)!important;gap:1.4rem!important;cursor:default}
.ch-img{width:132px!important;height:132px!important;object-fit:cover;object-position:top;border:0;outline:0;box-shadow:none;border-radius:0;transform:none!important;
  filter:grayscale(1) contrast(1.15);-webkit-mask:var(--brush-s) 0 0/100% 100% no-repeat!important;mask:var(--brush-s) 0 0/100% 100% no-repeat!important;transition:filter .45s}
.ch:hover .ch-img{filter:grayscale(0) contrast(1.02);transform:none!important}

/* ── 7. Info rows: readable in every state, both themes ── */
.sl,.sl:hover,.sl:focus-visible,.sl:active{background:none!important;box-shadow:none!important;border:0!important;transform:none!important;outline:0}
.sl{color:var(--text)!important;padding:.9rem 0!important}
.sl .sl-name,.sl .sl-sub,.sl .sl-ico{transition:color .25s}
.sl:hover .sl-name,.sl:focus-visible .sl-name{color:var(--accent)!important}
.sl:hover .sl-sub,.sl:focus-visible .sl-sub{color:var(--text-dim)!important}
.sl:hover .sl-ico{color:var(--accent)}
.sl:focus-visible{outline:2px solid var(--accent)!important;outline-offset:4px}
.au-links .btn,.qlinks .btn{color:var(--text)}
.au-links .btn:hover,.qlinks .btn:hover{color:#FFF4E4}

/* ── 8. Staff: an open roster ── */
.staff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));gap:1.2rem 2.6rem}
.sc{display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;grid-template-areas:"av body" "av view";column-gap:1.2rem;row-gap:.2rem;align-items:center;justify-items:start;
  padding:1rem 1.1rem!important;margin:0 -1.1rem;background:none!important;box-shadow:none!important;border:0!important;cursor:pointer;transition:background-color .3s}
.sc:hover{transform:none!important;box-shadow:none!important;background:color-mix(in srgb,var(--text) 5%,transparent)!important}
.sc-av-wrap{grid-area:av;position:relative;width:92px!important;height:92px;aspect-ratio:1;border-radius:50%!important;overflow:visible;-webkit-mask:none!important;mask:none!important;background:var(--surface2);
  box-shadow:0 0 0 2px var(--line-strong);display:grid;place-items:center;transition:box-shadow .3s}
.sc-av-wrap img{width:100%!important;height:100%!important;border-radius:50%;object-fit:cover;filter:grayscale(.85) contrast(1.05);transition:filter .4s,transform .5s var(--ease-out)}
.sc:hover .sc-av-wrap{box-shadow:0 0 0 2px var(--accent)}
.sc:hover .sc-av-wrap img{filter:none;transform:scale(1.05)}
.sc-av-initials{font:400 2.4rem/1 var(--f-display);color:var(--accent)}
.sc-status-dot{display:block!important;position:absolute;right:2px;bottom:4px;width:15px;height:15px;border-radius:50%;border:3px solid var(--bg);z-index:2}
.sc-body{grid-area:body;display:grid;gap:.15rem;align-self:end}
.sc-role{font:700 .7rem/1.3 var(--f-label);letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}
.sc-name{font:400 1.75rem/1.05 var(--f-display);text-transform:uppercase;letter-spacing:.015em;color:var(--text)}
.sc-handle{font:600 .85rem/1.3 var(--f-label);letter-spacing:.1em;color:var(--text-muted)}
.sc-view{grid-area:view;align-self:start;margin-top:.2rem;opacity:1!important;transform:none!important;padding:0;background:none;border:0;cursor:pointer;
  font:700 .72rem/1 var(--f-label);letter-spacing:.26em;text-transform:uppercase;color:var(--text-muted);transition:color .25s}
.sc-view::after{content:' →'}
.sc:hover .sc-view,.sc-view:focus-visible{color:var(--accent)}
@media(max-width:560px){.sc{grid-template-columns:76px minmax(0,1fr)!important;margin:0}.sc-av-wrap{width:76px!important;height:76px}.sc-name{font-size:1.5rem}}

/* ── 9. Rail: scrollable tabs, compact theme switch, visible avatar ── */
@media(min-width:1100px){
  #nav .nav-in{justify-content:flex-start;gap:.7rem;padding:.9rem 0 .8rem;overflow:hidden}
  #nav .nav-brand{flex:none}
  #nav .nav-brand .gk-stamp{width:32px;height:32px;font-size:.95rem}
  #nav .nav-tabs{flex:1 1 auto;min-height:0;margin:0;gap:.5rem;padding:.6rem 0;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior:contain;
    -webkit-mask:linear-gradient(180deg,transparent,#000 16px,#000 calc(100% - 16px),transparent);mask:linear-gradient(180deg,transparent,#000 16px,#000 calc(100% - 16px),transparent)}
  #nav .nav-tabs::-webkit-scrollbar{display:none}
  #nav .nav-tabs li>a{padding:.75rem .5rem}
  #nav .nav-tabs li>a:hover{transform:none}
  #nav .nav-ctrl{flex:none;gap:.8rem;padding-top:.8rem;width:100%}
  #nav .tt{flex-direction:row;gap:.3rem}
  #nav .tt-icon svg{width:12px!important;height:12px!important}
  #nav .tt-track{transform:none;margin:0;width:34px;height:20px;border-radius:10px;background:color-mix(in srgb,#F1E7D6 14%,transparent)!important;border:0}
  #nav .tt-thumb{top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--blood-hot)}
  [data-theme="light"] #nav .tt-thumb{transform:translateX(14px)}
  #nav .dc-zone{position:relative;display:grid;place-items:center;min-height:56px}
  #nav .dc-btn{padding:0;background:none!important;border:0!important;box-shadow:none!important;border-radius:50%}
  #nav .dc-av,#nav .dc-av-ph{width:52px;height:52px;border-radius:50%;border:3px solid var(--blood-hot);box-shadow:0 0 0 2px var(--nav-bg)}
  #nav .dc-av-ph{font-size:1.3rem}
  #nav .dc-dot{right:0;bottom:0;width:13px;height:13px;border:2px solid var(--nav-bg)}
}
@media(min-width:1100px) and (max-height:760px){#nav .nav-brand .gk-stamps{flex-direction:row;gap:2px}#nav .nav-brand .gk-stamp{width:24px;height:24px;font-size:.75rem}}
.gal-folder{overflow:visible!important;min-height:0!important}
.gal-folder::before{opacity:1!important;inset:auto;top:-15px;left:0;height:16px;width:42%}
.gal-folder::after{inset:auto!important;left:7%;right:9%;top:6%;bottom:58%;opacity:1!important;-webkit-mask:none!important;mask:none!important;pointer-events:none}
.gal-folder-icon{top:34%!important;left:0!important;width:auto!important;display:block!important}
.gal-folder-count{color:var(--fd-mute)!important}
.gal-folder::after{inset:6% 9% 58% 7%!important}
.gal-folder::before{inset:-15px auto auto 0!important}
.sc-role{background:none!important;padding:0!important;clip-path:none!important;transform:none!important;box-shadow:none!important;border:0!important;color:var(--accent)!important;width:auto;margin:0;display:block}
.sc-role::before,.sc-role::after{display:none}
.sc-view{justify-self:start;width:auto;margin-left:0;text-align:left}
.sc-av-wrap{background-image:none!important}
.sc-body{justify-items:start}
.au-img{-webkit-mask:none!important;mask:none!important;filter:grayscale(1) contrast(1.15);box-shadow:10px 10px 0 color-mix(in srgb,var(--blood) 75%,transparent)}
.sc::before,.sc::after,.sc-name::after,.sc-name::before,.stat-card::before,.stat-card::after{display:none!important}
.stat-card{background-image:none!important}
.sn-btn::before{border:0!important;transform:none!important;clip-path:none!important;box-shadow:none!important;width:auto!important;height:auto!important;min-width:0;padding:0!important;display:inline!important;position:relative!important;inset:auto!important;top:-.2em}
@media(max-width:560px){.ch{grid-template-columns:96px minmax(0,1fr)!important;gap:1rem!important}.ch-img{width:96px!important;height:96px!important}.ch-info h3{font-size:1.6rem}}
.rule-card::after,.rule-card-body::before,.rule-card-body::after{display:none!important}
.rule-card-body,.rule-card-icon{border:0!important}
