/* KUROHA LAB. NSFW — same visual system as the public site, dedicated content only. */
body.kln-site{background:#eef0f6!important;color:#171c34!important}
.kln-site a{color:#5448be}

/* Header: identical rail and colors to the public site, with a small area badge. */
.kln-header{background:#ffffffed!important;border-bottom:1px solid #eeedf5!important;box-shadow:none!important}
.kln-brand-wrap{display:flex;align-items:center;gap:12px;min-width:0}
.kln-area-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 9px;border:1px solid #d9d3ef;border-radius:8px;background:#f2efff;color:#5648bf;font-size:10px;font-weight:850;letter-spacing:.06em;white-space:nowrap}
.kln-header .kl-brand-image img{display:block;max-width:330px;max-height:76px;width:auto;height:auto;object-fit:contain}
.kln-header .kl-brand{min-width:0}

/* Main shell and age gate use the same public-site surfaces. */
.kln-main{background:#eef0f6!important;min-height:70vh;padding-top:30px}
.kln-site .kl-age-check{width:calc(100% - 48px);max-width:760px;margin:48px auto;padding:42px;border:1px solid #dcd6f2;border-radius:22px;background:linear-gradient(135deg,#faf9ff,#f4f1ff);box-shadow:0 14px 36px rgba(44,35,91,.07);text-align:center;color:#171c34}
.kln-site .kl-age-check h2{margin:8px 0 12px;font-size:34px;color:#171c34}
.kln-site .kl-age-check p{color:#69677c}
.kln-site .kl-age-check .kl-actions{justify-content:center}
.kln-age-reset{display:block;margin:34px auto 0}

/* NSFW home mirrors the normal homepage structure and spacing. */
.kln-home{max-width:100%!important;padding:0!important}
.kln-home .kln-hero{border:1px solid #d6d9e6!important;box-shadow:0 18px 46px rgba(34,31,72,.10)!important;background:radial-gradient(circle at 83% 48%,#dedbff 0,#f5f3ff 35%,#fafbff 67%)!important}
.kln-home .kln-hero-art img{object-fit:contain;object-position:center bottom}
.kln-home .kln-section{position:relative}
.kln-home .kln-topic-grid .kl-card{display:flex;flex-direction:column;min-height:220px}
.kln-home .kln-topic-grid .kl-card .kl-textlink{margin-top:auto!important;align-self:flex-start}
.kln-home .kln-post-grid{margin-top:0}
.kln-home .kln-notice{margin-bottom:60px;border:1px solid #d9dce8;background:linear-gradient(130deg,#f6f5ff,#fafaff);box-shadow:0 12px 30px rgba(45,37,90,.045)}
.kln-home .kln-notice>p:last-child{max-width:760px;margin:14px auto 0;color:#676579}

/* Breadcrumbs and archive/article content keep the normal Kuroha look. */
.kln-breadcrumb{margin-bottom:22px}
.kln-breadcrumb a{color:#6257c8}
.kln-reader .kl-labels span{color:#6e61ce;font-size:12px;font-weight:800}
.kln-reader .kl-article-content{line-height:2}
.kln-reader .kl-article-content h2{font-size:25px;line-height:1.5;margin:40px 0 16px;letter-spacing:-.03em}
.kln-reader .kl-article-content h3{font-size:21px;margin:30px 0 14px}
.kln-reader .kl-article-content p{margin:16px 0}
.kln-reader .kl-article-content pre{overflow-x:auto;background:#20233b;color:#f5f5ff;border-radius:12px;padding:22px;white-space:pre;overflow-wrap:normal}
.kln-reader .kl-article-content p code,.kln-reader .kl-article-content li code{background:#f0eef9;padding:2px 5px;border-radius:4px}
.kln-reader .kl-article-content blockquote{border-left:3px solid #887bdb;margin:24px 0;padding:10px 24px;background:#f8f7fd}
.kln-reader .kl-article-content table{display:block;overflow:auto;border-collapse:collapse;max-width:100%}
.kln-reader .kl-article-content th,.kln-reader .kl-article-content td{padding:10px 14px;border:1px solid #e4e2ee}
.kln-category-head{margin-bottom:26px}

/* Dedicated NSFW sidebar, normal-site UI. */
.kln-sidebar{position:sticky;top:92px;padding-bottom:40px}
.kln-side-card{background:#fff!important;border:1px solid #e7e4ef!important;border-radius:18px!important;padding:20px!important;margin:8px 0 18px!important;box-shadow:0 10px 26px rgba(37,32,72,.055)!important;color:#171c34!important}
.kln-side-card h2{font-size:15px!important;line-height:1.5!important;margin:0 0 14px!important;padding-bottom:11px!important;border-bottom:1px solid #eeebf5!important;color:#20233a!important}
.kln-side-card p{color:#65677a!important;font-size:12px!important;line-height:1.8!important}
.kln-search{margin:0!important;max-width:none!important}
.kln-search label{display:none!important}
.kln-search>div{display:flex!important;flex-direction:column!important;gap:8px!important}
.kln-search input[type=search]{width:100%!important;min-height:42px!important;border:1px solid #d7d3e3!important;border-radius:10px!important;padding:10px 12px!important;background:#fff!important;color:#171c34!important}
.kln-search button{width:100%!important;min-height:40px!important;border-radius:9px!important;background:linear-gradient(135deg,#302c59,#5a4fc2)!important;color:#fff!important;font-size:12px!important;font-weight:800!important}
.kln-side-links{display:grid;gap:7px}
.kln-side-links a{display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;border-radius:9px;padding:9px 11px;background:#faf9fd;color:#4c4960;text-decoration:none!important;font-size:12px;transition:background-color .18s ease,color .18s ease,transform .18s ease}
.kln-side-links a:hover{background:#efecff;color:#5044bd;transform:translateX(2px)}
.kln-side-links b{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#fff;color:#7166d5;border:1px solid #e6e2fb;font-size:10px;font-weight:800}
.kln-recent{display:grid;gap:7px;list-style:none;margin:0;padding:0}
.kln-recent li{margin:0!important}
.kln-recent a{display:block;padding:12px 14px;border-radius:9px;background:#faf9fd;color:#4c4960;text-decoration:none!important}
.kln-recent a:hover{background:#efecff;color:#5044bd}
.kln-recent strong{display:block;font-size:13px;line-height:1.65;color:inherit}
.kln-recent span{display:block;margin-top:4px;color:#88859a;font-size:10px;line-height:1.6}
.kln-profile{text-align:left!important}
.kln-return a{margin-top:8px}

/* Footer follows the normal site structure; links/content remain NSFW-specific. */
.kln-footer{background:#f8f8fc!important;border-top:1px solid #edebf5!important;color:#171c34!important;margin-top:35px}
.kln-footer-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.kln-footer-title strong{font-size:20px;color:#20233a}
.kln-footer .kl-footer-heading{font-size:11px;font-weight:850;letter-spacing:.12em;color:#7568cf;margin:0 0 10px}

@media(max-width:950px){
  .kln-header .kl-brand-image img{max-width:285px;max-height:66px}
}
@media(max-width:820px){
  .kln-sidebar{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;padding-bottom:0}
}
@media(max-width:760px){
  .kln-brand-wrap{gap:8px;max-width:calc(100% - 120px)}
  .kln-header .kl-brand-image img{max-width:205px;max-height:52px}
  .kln-area-badge{min-height:24px;padding:4px 7px;font-size:9px}
  .kln-site .kl-age-check{width:calc(100% - 32px);margin:28px auto;padding:30px 22px}
  .kln-site .kl-age-check h2{font-size:28px}
  .kln-sidebar{grid-template-columns:1fr}
}
@media(max-width:520px){
  .kln-brand-wrap .kln-area-badge{display:none}
}

/* === KUROHA LAB. 3.0.3: light blush / rose NSFW accent === */
body.kln-site{background:#f6f1f5!important;color:#1d1a2b!important}
.kln-site a{color:#9d4f78}
.kln-site .kl-eyebrow{color:#b45a86!important}
.kln-site .kl-textlink{color:#a34f7a!important}
.kln-site .kl-button-primary{background:linear-gradient(135deg,#5c3454,#b45582)!important;color:#fff!important;box-shadow:0 12px 24px rgba(121,59,94,.18)!important}
.kln-site .kl-button-primary:hover{background:linear-gradient(135deg,#71405f,#c16490)!important;color:#fff!important}
.kln-site .kl-button-quiet{background:#fff7fa!important;color:#8c456d!important;border-color:#ecd5e0!important}
.kln-site .kl-button-quiet:hover{background:#f9e9f0!important;color:#773959!important}
.kln-site .kl-hero h1 em{color:#aa4f7b!important}

.kln-header{background:#fffdfef2!important;border-bottom-color:#eee0e7!important}
.kln-area-badge{border-color:#e8cbd8!important;background:#fff1f6!important;color:#9e4c76!important}
.kln-main{background:#f6f1f5!important}
.kln-site .kl-age-check{border-color:#ead4df!important;background:linear-gradient(135deg,#fffafd,#f9edf3)!important;box-shadow:0 14px 36px rgba(99,46,78,.08)!important}

.kln-home .kln-hero{border-color:#e6d5de!important;box-shadow:0 18px 46px rgba(92,48,76,.10)!important;background:radial-gradient(circle at 83% 48%,#efd8e4 0,#f8ebf2 36%,#fffafb 68%)!important}
.kln-home .kln-topic-grid .kl-card{border-color:#eadde4!important}
.kln-home .kln-topic-grid .kl-card:hover{border-color:#d9b7c8!important;box-shadow:0 14px 32px rgba(112,54,88,.08)!important}
.kln-home .kln-notice{border-color:#eadce3!important;background:linear-gradient(130deg,#fff8fb,#fbf2f7)!important;box-shadow:0 12px 30px rgba(105,52,83,.05)!important}

.kln-breadcrumb a{color:#a05279!important}
.kln-reader .kl-labels span{color:#b05682!important}
.kln-reader .kl-article-content p code,.kln-reader .kl-article-content li code{background:#f8ebf1!important}
.kln-reader .kl-article-content blockquote{border-left-color:#bc688f!important;background:#fff7fa!important}
.kln-category-head{border-color:#e8d7df!important;background:radial-gradient(circle at 85% 0%,#f2dfe8,#fff9fc 66%)!important}

.kln-side-card{border-color:#eadfe5!important;box-shadow:0 10px 26px rgba(91,47,74,.055)!important;color:#1d1a2b!important}
.kln-side-card h2{border-bottom-color:#f0e5ea!important;color:#2c2030!important}
.kln-side-card p{color:#716570!important}
.kln-search input[type=search]{border-color:#ddced6!important;color:#1d1a2b!important}
.kln-search button{background:linear-gradient(135deg,#633653,#b35480)!important}
.kln-side-links a{background:#fff8fb!important;color:#5f4f5b!important}
.kln-side-links a:hover{background:#f8e8ef!important;color:#98476f!important}
.kln-side-links b{color:#a04c75!important;border-color:#edd4df!important;background:#fff!important}
.kln-recent a{background:#fff8fb!important;color:#5f4f5b!important}
.kln-recent a:hover{background:#f8e8ef!important;color:#98476f!important}
.kln-profile .kl-profile-link,.kln-return .kl-profile-link{color:#9d4f78!important}

.kln-footer{background:#fbf7fa!important;border-top-color:#eee1e7!important;color:#1d1a2b!important}
.kln-footer-title strong{color:#2d2230!important}
.kln-footer .kl-footer-heading{color:#ad567f!important}

/* === KUROHA LAB. 3.0.4: NSFW footer uses the general-site geometry === */
.kln-footer .kl-footer-inner{
  /* Geometry is owned by shell.css, exactly like the general footer. */
}
.kln-footer .kl-footer-links{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:24px!important;
  width:100%!important;
}
.kln-footer .kl-footer-group nav{
  display:grid!important;
  grid-template-columns:1fr!important;
  align-content:start!important;
  justify-content:stretch!important;
  gap:8px!important;
  max-width:none!important;
  margin:0!important;
}
@media(max-width:760px){
  .kln-footer .kl-footer-links{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
}
@media(max-width:560px){
  .kln-footer .kl-footer-links{grid-template-columns:1fr!important;gap:20px!important}
}

/* === KUROHA LAB. 3.0.6: preparing states === */
.kln-topic-card.is-preparing{background:#fcf8fa!important;border-style:dashed!important;box-shadow:none!important}
.kl-preparing-label{display:inline-flex!important;align-items:center;justify-content:center;align-self:flex-start;pointer-events:none;cursor:default;background:#f7edf2!important;color:#a16b83!important;border-color:#ead7df!important}
.kln-side-preparing{display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:9px;padding:9px 11px;background:#fcf6f9;color:#8b7480;font-size:12px;line-height:1.6}
.kln-side-preparing small{font-size:10px;font-weight:800;color:#ad7890;letter-spacing:.04em}

/* KUROHA X standalone header / footer */
.kln-header .kl-brand span{color:#b34f7c!important}.kln-header .kl-brand small{color:#8e6b7d!important}.kln-header nav a:hover{background:#fff0f6!important;color:#9f3f6d!important}.kln-header .current-menu-item a{background:#fff0f6!important;color:#9f3f6d!important}.kln-header li:last-child a{background:transparent!important;border-color:transparent!important;color:#34354c!important;padding:8px 10px!important}.kln-header li:last-child a:hover{background:#fff0f6!important;color:#9f3f6d!important;transform:none!important}
.kln-footer .kl-footer-links{grid-template-columns:repeat(3,minmax(0,1fr))!important;max-width:760px!important}
@media(max-width:980px){.kln-footer .kl-footer-links{grid-template-columns:repeat(2,minmax(0,1fr))!important}.kln-footer .kl-footer-group:last-child{grid-column:1/-1}}
@media(max-width:700px){.kln-footer .kl-footer-links{grid-template-columns:1fr!important}.kln-footer .kl-footer-group:last-child{grid-column:auto}}

.kln-header .kl-header-inner{gap:18px}.kln-header ul{gap:12px}.kln-header nav a{font-size:12px;padding:8px 7px}
@media(max-width:1050px){.kln-header ul{gap:7px}.kln-header nav a{font-size:11px;padding-inline:6px}}


/* === KUROHA X 4.2.1: site-level nav + simplified GUIDE footer === */
.kln-header li:last-child a{border:0!important;padding:8px 10px!important;border-radius:10px!important;background:transparent!important;box-shadow:none!important;color:#34354c!important}
.kln-header .current-menu-item a,.kln-header .current_page_item a{position:relative;background:transparent!important;color:#9f3f6d!important;box-shadow:none!important}
.kln-header .current-menu-item a::after,.kln-header .current_page_item a::after{content:"";position:absolute;left:10px;right:10px;bottom:3px;height:2px;border-radius:2px;background:#b34f7c}
.kln-footer .kl-footer-links{grid-template-columns:minmax(220px,320px)!important;max-width:320px!important;justify-self:end}
@media(max-width:700px){.kln-footer .kl-footer-links{max-width:none!important;justify-self:stretch}}


/* === KUROHA X 4.2.2: horizontal footer === */
@media(min-width:701px){
  .kln-footer .kl-footer-inner{display:grid!important;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr)!important;align-items:center!important;gap:48px!important}
  .kln-footer .kl-footer-links{display:block!important;width:100%!important;max-width:none!important;justify-self:stretch!important}
  .kln-footer .kl-footer-group{width:100%!important}
  .kln-footer .kl-footer-heading{text-align:right!important;margin:0 0 10px!important}
  .kln-footer .kl-footer-group nav{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;justify-content:flex-end!important;align-items:center!important;gap:10px!important;max-width:none!important;margin:0!important}
}
@media(max-width:700px){
  .kln-footer .kl-footer-inner{display:block!important}
  .kln-footer .kl-footer-links{width:100%!important;max-width:none!important;margin-top:24px!important}
  .kln-footer .kl-footer-heading{text-align:left!important}
  .kln-footer .kl-footer-group nav{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;justify-content:flex-start!important;gap:9px!important}
}


/* === KUROHA X 4.2.4: definitive horizontal GUIDE footer === */
@media(min-width:901px){
  body.kl-site > .kln-footer > .kl-footer-inner{
    display:flex!important;align-items:center!important;justify-content:space-between!important;gap:48px!important;
  }
  .kln-footer .kl-footer-brand{flex:1 1 320px!important;min-width:260px!important}
  .kln-footer .kl-footer-links{display:block!important;flex:0 1 auto!important;width:auto!important;max-width:none!important;margin:0!important}
  .kln-footer .kl-footer-group{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:14px!important;width:auto!important}
  .kln-footer .kl-footer-heading{flex:0 0 auto!important;margin:0!important;text-align:left!important;white-space:nowrap!important}
  .kln-footer .kl-footer-group nav{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;max-width:none!important;margin:0!important}
  .kln-footer .kl-footer-group nav a{display:inline-flex!important;width:auto!important;min-width:0!important;flex:0 0 auto!important;white-space:nowrap!important}
}
@media(min-width:701px) and (max-width:900px){
  .kln-footer .kl-footer-group nav{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:9px!important}
  .kln-footer .kl-footer-group nav a{width:auto!important;flex:0 0 auto!important}
}
