/* ============================================================================
   preloader.css — nicolaromei 完コピ preloader (KAGVYA v2 本番)
   .nrp で名前空間化し base.css / theme-kagvya.css と衝突回避。
   z-index 200 で全面を覆い、実ロード(window.load + 本編 is-insert)を待って退場。
   ============================================================================ */
.nrp{position:fixed;inset:0;z-index:200;display:flex;justify-content:center;align-items:center;
  width:100%;height:100svh;background:#f6f6f6;transform-origin:top center;will-change:opacity}
.nrp.is-gone{display:none!important}

.nrp__content{position:absolute;inset:0;z-index:1;display:flex;flex-flow:column;
  justify-content:center;align-items:center;color:#202020}

/* 中央の画像窓 (6枚 clip-path 開閉) */
.nrp__imgwrap{position:relative;width:4em;height:5em;
  margin-bottom:clamp(.5em,calc(.26em + 1vw),1.5em);border-radius:.2em;overflow:hidden}
.nrp__img{position:absolute;inset:0;-webkit-clip-path:inset(0 0 100% 0);clip-path:inset(0 0 100% 0);will-change:clip-path}
.nrp__img img{display:block;width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-select:none}

/* カウンタ + 進捗線 */
.nrp__cwrap{display:flex;flex-flow:column;justify-content:space-between;align-items:center;gap:.5em}
.nrp__count{opacity:0;line-height:1;letter-spacing:.04em;text-transform:uppercase;
  font-family:Inter,"Noto Sans JP",sans-serif;font-weight:500;font-size:clamp(.625rem,.5vw,.75rem);color:#202020}
.nrp__line{position:relative;width:4em;height:1px;background:#ddd}
.nrp__linefill{position:absolute;inset:0;width:100%;height:100%;background:#202020;transform-origin:0 50%;transform:scaleX(0)}

/* 下部 intro テキスト (2行・最下部) */
.nrp__introwrap{position:absolute;inset:auto 0 1.5em;display:flex;justify-content:center;align-items:center}
.nrp__intro{opacity:0}                         /* JS が autoAlpha:1 */
.nrp__introInner{max-width:80vw;text-align:center;opacity:.5;
  font-family:Inter,"Noto Sans JP",sans-serif;font-weight:500;font-size:clamp(.625rem,.5vw,.75rem);
  line-height:1.5;letter-spacing:.04em;text-transform:uppercase;color:#202020}
.nrp .nrp-char{display:inline}                 /* 単語境界で折り返し */

/* 最背面の極薄テクスチャ (scanline+grain 焼き込み)。初回は opacity0 → JS で load後フェードイン */
.nrp__fx{position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:url("../img/preload-tex.png");background-size:160px 160px;background-repeat:repeat;opacity:0}

/* ============================================================================
   内部遷移の黒カーテン (.kxn) — 80% black が上から覆い、下へ掃ける wipe
   ============================================================================ */
.kxn{position:fixed;inset:0;z-index:250;background:#000;opacity:.8;pointer-events:none;
  transform:translateY(-100%);will-change:transform;visibility:hidden}
.kxn.is-on{visibility:visible}
/* 内部遷移で到達した時は、初回ペイントからカーテンで覆い(ちらつき防止) + プリローダ抑止 */
html.is-internal-nav .kxn{transform:translateY(0);visibility:visible}
html.is-internal-nav .nrp{display:none!important}

/* theme-kagvya の var(--kg-ink) が span(.nrp-char) 等に効いて文字が薄色化する事故の上書き。
   プリローダは light 背景なので文字は必ず #202020 (dark) に固定 */
.nrp__count,.nrp__introInner,.nrp__para,.nrp .nrp-char{color:#202020!important}
