/*
Theme Name: KISARAGI WORKS
Author: KISARAGI WORKS
Description: Lightweight original WordPress theme for KISARAGI WORKS.
Version: 2.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: kisaragi-works
*/
:root{--bg:#201e1f;--surface:#2a2729;--text:#f5f1f2;--muted:#b8b0b3;--border:#474245;--container:1120px;--radius:6px;--header:68px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:15px;line-height:1.9}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid #ddd;outline-offset:3px}.site-header{height:var(--header);border-bottom:1px solid var(--border);background:rgba(23,21,22,.97);position:sticky;top:0;z-index:50}.header-inner{max-width:var(--container);height:100%;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;letter-spacing:.08em}.brand-mark{width:28px;height:28px;object-fit:contain}.main-nav{display:flex;gap:25px;font-size:12px;letter-spacing:.08em}.main-nav a{color:var(--muted)}.main-nav a:hover{color:var(--text)}.menu-toggle{display:none;border:0;background:none;padding:8px;cursor:pointer}.container{width:min(calc(100% - 56px),var(--container));margin:auto}.narrow{max-width:920px}.section{padding:88px 0}.section--gray{background:var(--surface)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:34px}.section-title{margin:0;font-size:26px;line-height:1.3;letter-spacing:.1em}.section-subtitle{margin:7px 0 0;color:var(--muted);font-size:12px}.view-all,.text-link{font-size:11px;letter-spacing:.1em}.view-all:hover,.text-link:hover{text-decoration:underline}.eyebrow{margin:0 0 11px;color:var(--muted);font-size:11px;letter-spacing:.22em;text-transform:uppercase}.hero{padding:105px 0 90px}.hero h1,.portal-hero h1{margin:0;font-size:clamp(38px,5vw,58px);line-height:1.15;letter-spacing:.08em}.hero__lead,.portal-hero__lead{margin:15px 0 0;color:var(--muted);font-size:13px}.portal-hero{text-align:center;padding:96px 0 105px}.portal-hero__inner{max-width:1000px}.portal-doors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:900px;margin:52px auto 0}.portal-door{min-height:220px;border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:background .2s,border-color .2s,transform .2s}.portal-door:hover{background:var(--surface);border-color:#555;transform:translateY(-2px)}.portal-door__label{font-size:11px;letter-spacing:.2em;color:var(--muted)}.portal-door strong{margin-top:11px;font-size:25px;letter-spacing:.08em}.portal-door__desc{margin:7px 0 20px;color:var(--muted);font-size:12px}.portal-door__enter{font-size:11px;letter-spacing:.12em}.simple-copy{max-width:760px}.simple-copy p{margin:0}.link-list{border-top:1px solid var(--border)}.link-list a{display:flex;justify-content:space-between;align-items:center;padding:17px 2px;border-bottom:1px solid var(--border);font-size:13px}.link-list a span:last-child{color:var(--muted)}.grid{display:grid;gap:25px}.grid--works{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--tools{grid-template-columns:repeat(2,minmax(0,1fr))}.card{display:block}.card-image{aspect-ratio:4/3;background:#2a2728;overflow:hidden;border-radius:5px}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.card:hover .card-image img{transform:scale(1.015)}.no-image{height:100%;display:flex;align-items:center;justify-content:center;color:#777;font-size:10px;letter-spacing:.12em}.card-title{margin:12px 0 1px;font-size:15px;line-height:1.55;font-weight:600}.card-meta{margin:0;color:var(--muted);font-size:11px}.card-excerpt{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.7}.empty-state{grid-column:1/-1;margin:0;padding:25px 0;color:var(--muted);font-size:13px}.post-list{border-top:1px solid var(--border)}.post-row{display:grid;grid-template-columns:105px 1fr auto;gap:20px;padding:19px 0;border-bottom:1px solid var(--border);align-items:center}.post-date{font-size:11px;color:var(--muted)}.post-row-title{margin:0;font-size:14px;font-weight:500}.shop-box{border:1px solid var(--border);border-radius:var(--radius);padding:45px;text-align:center}.shop-box h3{margin:0;font-size:22px}.shop-box p{margin:7px 0 20px;color:var(--muted);font-size:12px}.site-footer{border-top:1px solid var(--border);padding:40px 0}.footer-inner{max-width:var(--container);margin:auto;padding:0 28px}.footer-nav{display:flex;flex-wrap:wrap;gap:18px;font-size:11px;color:var(--muted)}.footer-bottom{margin-top:24px;color:#999;font-size:10px}.archive-header{padding:70px 0 42px;border-bottom:1px solid var(--border)}.archive-header h1{margin:0;font-size:36px;letter-spacing:.06em}.archive-header p{margin:7px 0 0;color:var(--muted);font-size:12px}.single-header{padding:70px 0 35px}.single-header h1{max-width:900px;margin:0;font-size:clamp(28px,4vw,44px);line-height:1.4}.single-meta{margin-top:12px;color:var(--muted);font-size:11px}.entry-content{max-width:760px;margin:auto;padding:0 0 90px}.entry-content p{margin:0 0 1.5em}.entry-content h2{margin:2.2em 0 .7em;font-size:25px}.entry-content h3{margin:1.8em 0 .6em;font-size:19px}.notice{padding:16px 18px;border:1px solid var(--border);background:var(--surface);border-radius:5px;color:var(--muted);font-size:12px}.pagination{display:flex;gap:7px;justify-content:center;margin-top:50px}.pagination a,.pagination span{padding:7px 11px;border:1px solid var(--border);font-size:11px}.pagination .current{background:#f1eeee;color:#171516;border-color:#f1eeee}.r18-theme{--surface:#211f20}.r18-theme .site-header{border-bottom-color:#383436}.r18-theme .portal-door:hover{background:#211f20}
.site-header--r18{background:#141213}.brand--r18{display:flex;align-items:baseline;gap:12px}.brand--r18 .brand-main{font-size:13px;letter-spacing:.08em}.brand--r18 .brand-sub{font-size:9px;color:var(--muted);letter-spacing:.16em}.site-footer--r18{background:#141213}.site-footer--r18 .footer-brand{display:flex;align-items:baseline;gap:12px;margin-bottom:22px}.site-footer--r18 .footer-brand strong{font-size:14px;letter-spacing:.08em}.site-footer--r18 .footer-brand span{font-size:10px;color:var(--muted);letter-spacing:.12em}.site-footer--r18 .footer-note{margin:18px 0 0;color:var(--muted);font-size:10px;letter-spacing:.08em}
.single-header--works{padding-top:70px}.works-detail-image{max-width:1000px;margin:0 auto 36px}.works-detail-image__img{width:auto;height:auto;max-width:100%;max-height:none;margin:0 auto;border-radius:5px}.works-detail-image__img.wp-post-image{object-fit:contain}
@media(max-width:1023px){.container{width:min(calc(100% - 48px),var(--container))}.header-inner,.footer-inner{padding-inline:24px}.section{padding:72px 0}.hero{padding:85px 0}.grid--works{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){:root{--header:62px}.container{width:calc(100% - 40px)}.header-inner,.footer-inner{padding-inline:20px}.main-nav{display:none;position:absolute;top:var(--header);left:0;right:0;background:#171516;border-bottom:1px solid var(--border);padding:12px 20px;flex-direction:column;gap:0}.main-nav.is-open{display:flex}.main-nav a{padding:12px 0;border-bottom:1px solid var(--border)}.menu-toggle{display:block}.section{padding:58px 0}.section-head{display:block;margin-bottom:25px}.view-all{display:inline-block;margin-top:10px}.hero{padding:65px 0 58px}.portal-hero{padding:72px 0 70px}.portal-hero h1{font-size:34px}.portal-doors{grid-template-columns:1fr;margin-top:40px;gap:12px}.portal-door{min-height:185px}.portal-door strong{font-size:22px}.grid--works{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid--tools{grid-template-columns:1fr}.card-title{font-size:13px;margin-top:9px}.post-row{grid-template-columns:1fr;gap:1px}.post-row .view-all{display:none}.shop-box{padding:34px 20px}.archive-header{padding:50px 0 32px}.archive-header h1{font-size:30px}.single-header{padding:50px 0 30px}.entry-content{padding-bottom:65px}}
/* v0.4.0 - WORKS detail */
.works-detail-heading{max-width:920px;margin:0 auto}
.works-detail-heading .eyebrow{margin-bottom:8px}
.works-detail-heading h1{margin:0;font-size:clamp(30px,4vw,46px);line-height:1.35;letter-spacing:.04em}
.works-detail-content:empty{display:none}
.works-detail-content{max-width:920px;padding-bottom:70px}
.works-detail-content > *{max-width:760px}
.works-detail-content img{height:auto}
.works-pagination{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-bottom:90px}
.works-pagination__item{min-height:70px}
.works-pagination__item--next{text-align:right}
.works-pagination__item a{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--border);padding-top:14px}
.works-pagination__label{font-size:10px;letter-spacing:.12em;color:var(--muted)}
.works-pagination__title{font-size:13px;font-weight:600;line-height:1.6}
@media(max-width:767px){
  .works-detail-content{padding-bottom:50px}
  .works-pagination{grid-template-columns:1fr;gap:20px;padding-bottom:60px}
  .works-pagination__item--next{text-align:left}
}

/* v0.6.0 - GENERAL WORKS archive */
.archive-header .eyebrow{margin-bottom:8px}.archive-header h1{margin:0}.archive-header p:not(.eyebrow){margin-top:7px}

/* v0.7.0 - GENERAL TOOLS archive */
.tools-archive .card-image{aspect-ratio:16/9}
.tools-archive .card-title{margin-top:14px}
.tools-archive .card-excerpt{max-width:700px}
@media(max-width:767px){.tools-archive .card-image{aspect-ratio:16/9}}

/* v0.8.0 - GENERAL BLOG archive */
.blog-archive .post-list{max-width:920px;margin:0 auto}
.blog-archive .post-list-item + .post-list-item{margin-top:0}
.blog-archive .post-row{transition:background .2s}
.blog-archive .post-row:hover{background:var(--surface);padding-left:10px;padding-right:10px}
.post-row-excerpt{padding:0 145px 18px 125px;color:var(--muted);font-size:12px;line-height:1.8}
@media(max-width:767px){
  .post-row-excerpt{padding:0 0 16px;font-size:12px}
  .blog-archive .post-row:hover{padding-left:0;padding-right:0}
}

/* v0.9.0 - GENERAL BLOG single post */
.blog-single-header{padding:70px 0 30px}
.blog-single-heading{max-width:920px;margin:0 auto}
.blog-single-heading h1{margin:0;font-size:clamp(28px,4vw,44px);line-height:1.45;letter-spacing:.03em}
.blog-single-date{margin-top:12px;color:var(--muted);font-size:11px}
.blog-single-featured{max-width:920px;margin:0 auto 42px}
.blog-single-featured img{width:auto;height:auto;max-width:100%;margin:0 auto;border-radius:5px}
.blog-entry-content{max-width:760px;margin:0 auto;padding-bottom:80px}
.blog-entry-content > *{max-width:100%}
.blog-entry-content img{height:auto}
.blog-entry-content a{text-decoration:underline;text-underline-offset:3px}
.blog-entry-content ul,.blog-entry-content ol{padding-left:1.5em;margin:0 0 1.5em}
.blog-entry-content blockquote{margin:2em 0;padding:14px 18px;border-left:2px solid #ccc;background:var(--surface);color:var(--muted)}
.blog-entry-content figure{margin:2em 0}
.blog-post-nav{max-width:920px;margin:0 auto;padding-bottom:90px;display:grid;grid-template-columns:1fr 1fr;gap:28px}
.blog-post-nav__item a{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--border);padding-top:14px}
.blog-post-nav__item--next{text-align:right}
.blog-post-nav__label{font-size:10px;letter-spacing:.12em;color:var(--muted)}
.blog-post-nav__title{font-size:13px;font-weight:600;line-height:1.6}
@media(max-width:767px){
 .blog-single-header{padding:50px 0 25px}
 .blog-single-featured{margin-bottom:30px}
 .blog-entry-content{padding-bottom:55px}
 .blog-post-nav{grid-template-columns:1fr;gap:20px;padding-bottom:60px}
 .blog-post-nav__item--next{text-align:left}
}


/* v1.0.0 - GENERAL ABOUT page */
.about-page-header{padding:70px 0 38px}
.about-page-header__inner{max-width:920px;margin:0 auto}
.about-page-header h1{margin:0;font-size:clamp(32px,4.5vw,48px);line-height:1.35;letter-spacing:.04em}
.about-page-header__role{margin:10px 0 0;color:var(--muted);font-size:12px}
.about-page-content{max-width:920px;margin:0 auto;padding-bottom:90px}
.about-page-content__intro{max-width:760px;margin:0 0 60px}
.about-page-content__intro p{margin:0 0 1.5em}
.about-page-block{padding:34px 0;border-top:1px solid var(--border)}
.about-page-block:first-child{border-top:0}
.about-page-block h2{margin:0 0 14px;font-size:20px;line-height:1.4;letter-spacing:.08em}
.about-page-block p{margin:0;color:var(--text)}
.about-page-list{margin:0;padding:0;list-style:none}
.about-page-list li{padding:9px 0;border-bottom:1px solid var(--border);font-size:13px}
.about-page-note{color:var(--muted)!important;font-size:12px}
@media(max-width:767px){
 .about-page-header{padding:50px 0 28px}
 .about-page-content{padding-bottom:60px}
 .about-page-content__intro{margin-bottom:40px}
 .about-page-block{padding:27px 0}
 .about-page-block h2{font-size:18px}
}

/* v1.1.0 - GENERAL CONTACT page */
.contact-page-header{padding:70px 0 38px}.contact-page-header__inner{max-width:920px;margin:0 auto}.contact-page-header h1{margin:0;font-size:clamp(32px,4.5vw,48px);line-height:1.35;letter-spacing:.04em}.contact-page-header__role{margin:10px 0 0;color:var(--muted);font-size:12px}.contact-page-content{max-width:920px;margin:0 auto;padding-bottom:90px}.contact-page-block{padding:34px 0;border-top:1px solid var(--border)}.contact-page-block:first-child{border-top:0}.contact-page-block h2{margin:0 0 14px;font-size:20px;line-height:1.4;letter-spacing:.08em}.contact-page-block p{margin:0 0 10px}.contact-page-note{color:var(--muted)!important;font-size:12px}.contact-email{display:inline-block;font-size:16px;font-weight:600;word-break:break-all;text-decoration:underline;text-underline-offset:4px}
@media(max-width:767px){.contact-page-header{padding:50px 0 28px}.contact-page-content{padding-bottom:60px}.contact-page-block{padding:27px 0}.contact-page-block h2{font-size:18px}}

/* v1.4.0 - R18 WORKS shop links */
.works-shop{margin-top:52px;padding-top:30px;border-top:1px solid var(--border)}
.works-shop__eyebrow{margin:0 0 5px;color:var(--muted);font-size:10px;letter-spacing:.18em}
.works-shop__title{margin:0 0 18px;font-size:20px;line-height:1.4;letter-spacing:.06em}
.works-shop__links{border-top:1px solid var(--border)}
.works-shop__link{display:flex;justify-content:space-between;align-items:center;padding:15px 2px;border-bottom:1px solid var(--border);font-size:13px}
.works-shop__link span:last-child{color:var(--muted)}
.works-shop__link:hover{text-decoration:underline;text-underline-offset:3px}


/* v1.5.0 - R18 SHOP auto links */
.shop-box__links{max-width:620px;margin:24px auto 0;border-top:1px solid var(--border)}
.shop-box__link{display:flex;justify-content:space-between;align-items:center;padding:15px 2px;border-bottom:1px solid var(--border);font-size:13px;text-align:left}
.shop-box__link span:last-child{color:var(--muted)}
.shop-box__link:hover{text-decoration:underline;text-underline-offset:3px}

@media(max-width:767px){.brand--r18{gap:8px}.brand--r18 .brand-main{font-size:12px}.brand--r18 .brand-sub{font-size:8px}.site-footer--r18 .footer-brand{display:block}.site-footer--r18 .footer-brand span{display:block;margin-top:5px}}


/* v1.7.0 - R18 visual refinement */
body.r18-theme{background:var(--bg)}
.r18-theme .site-header{background:rgba(32,30,31,.97);border-bottom-color:#4a4548}
.r18-theme .hero{padding:118px 0 104px;border-bottom:1px solid rgba(255,255,255,.05)}
.r18-theme .hero h1{font-weight:650;letter-spacing:.1em}
.r18-theme .hero__lead{font-size:13px;letter-spacing:.04em}
.r18-theme .section{padding:82px 0}
.r18-theme .section--gray{background:#2a2729}
.r18-theme .section-title{font-size:25px}
.r18-theme .card-image{background:#332f31;border:1px solid rgba(255,255,255,.05)}
.r18-theme .card-title{font-size:15px}
.r18-theme .card:hover .card-image{border-color:#625b5f}
.r18-theme .shop-box{background:#322e30;border:1px solid #4a4548;border-radius:6px}
.r18-theme .site-footer{background:#171617;border-top-color:#403b3e}
.r18-theme .main-nav a,.r18-theme .footer-note,.r18-theme .footer-brand span{color:#bdb5b8}
.r18-theme .main-nav a:hover{color:#fff}
@media(max-width:767px){
 .r18-theme .hero{padding:82px 0 70px}
 .r18-theme .section{padding:62px 0}
}

/* v1.8.0 - ABOUT integrated into R18 creator hero */
.hero--creator .hero__profile{max-width:760px;margin-top:28px;padding-top:18px;border-top:1px solid var(--border)}
.hero--creator .hero__profile p{margin:0;color:var(--muted);font-size:12px;letter-spacing:.03em}
@media(max-width:767px){.hero--creator .hero__profile{margin-top:22px;padding-top:15px}}


/* v2.0.0 - subtle official mascot guide on R18 TOP */
.r18-mascot{display:flex;align-items:center;gap:12px;margin-top:28px;max-width:760px;padding-top:16px;border-top:1px solid var(--border)}
.r18-mascot img{width:42px;height:42px;object-fit:contain;flex:0 0 42px;border-radius:50%}
.r18-mascot__copy{display:flex;align-items:baseline;gap:9px;min-width:0}
.r18-mascot__copy strong{font-size:11px;letter-spacing:.08em;white-space:nowrap}
.r18-mascot__copy span{color:var(--muted);font-size:11px;line-height:1.7}
.r18-footer-mascot{display:flex;align-items:center;gap:8px;margin-top:18px;color:var(--muted);font-size:10px;letter-spacing:.06em}
.r18-footer-mascot img{width:28px;height:28px;object-fit:contain;flex:0 0 28px;border-radius:50%}
@media(max-width:767px){
 .r18-mascot{margin-top:22px;padding-top:14px;gap:10px}
 .r18-mascot img{width:36px;height:36px;flex-basis:36px}
 .r18-mascot__copy{display:block}
 .r18-mascot__copy span{display:block;margin-top:2px;font-size:10px}
}
