/* ============================================================
   Paper Cruxy — Opening Overlay (opening.css)
   トップページに前段として被せるシネマティック・オープニング
   本体DOMには手を入れず、全画面オーバーレイとして動作する
   ============================================================ */

#pc-opening{
  position:fixed; inset:0; z-index:9999;
  background:#000;                 /* 開始は完全な暗闇 */
  display:flex; align-items:center; justify-content:center;
  font-family:"Hiragino Mincho ProN","Yu Mincho",Georgia,serif;
  color:#fff; overflow:hidden;
  opacity:1; transition:opacity 1.5s ease;
}
#pc-opening.pc-fadeout{ opacity:0; pointer-events:none; }
#pc-opening *{ box-sizing:border-box; }

/* 夜明けレイヤー（暗→紺）。ワードマーク登場と同時に立ち上がる */
#pc-opening .pc-sky{
  position:absolute; inset:0; z-index:1;
  background:radial-gradient(120% 100% at 50% 22%, #14304200 0%, #08161f00 55%, #00000000 100%), #000;
  transition:background 2.8s ease-in-out;
}
#pc-opening .pc-sky.pc-dawn{
  background:radial-gradient(120% 100% at 50% 22%, #163a52 0%, #0a1d2a 55%, #050d14 100%), #03070b;
}

#pc-opening .pc-stars{ position:absolute; inset:0; z-index:2; width:100%; height:100%; opacity:0; transition:opacity .6s ease; }
#pc-opening .pc-stars.pc-ready{ opacity:1; }

#pc-opening .pc-scene{
  position:absolute; inset:0; z-index:3;
  display:flex; flex-direction:column; align-items:center; justify-content:flex-end;
  text-align:center; padding:0 28px 12vh;
}
#pc-opening .pc-line{ opacity:0; transition:opacity 1.2s ease, transform 1.2s ease; }
#pc-opening .pc-line.pc-show{ opacity:1; transform:none; }
#pc-opening .pc-sub{ font-size:clamp(15px,2.7vw,22px); color:#d6dee2; letter-spacing:.06em; line-height:2; transform:translateY(8px); }
#pc-opening .pc-em{ font-size:clamp(18px,3.3vw,28px); color:#fff; letter-spacing:.05em; line-height:2; transform:translateY(8px); }
#pc-opening .pc-em .pc-ac{ color:#E0BC63; }

/* ワードマーク（主役・大きく光る） */
#pc-opening .pc-wordmark{
  position:absolute; inset:0; z-index:4;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  opacity:0; transform:scale(.94); transition:opacity 1.6s ease, transform 1.6s ease; pointer-events:none;
}
#pc-opening .pc-wordmark.pc-show{ opacity:1; transform:none; }
#pc-opening .pc-brand{
  font-size:clamp(52px,12vw,128px); font-weight:600; letter-spacing:.02em; line-height:1.05; color:#fff;
  text-shadow:0 0 40px rgba(201,161,74,.35), 0 0 80px rgba(11,28,38,.6);
}
#pc-opening .pc-brand .pc-c{
  color:#E0BC63; text-shadow:0 0 30px rgba(224,188,99,.55), 0 0 70px rgba(201,161,74,.4);
}
#pc-opening .pc-tag{
  font-family:"Courier New",monospace; font-size:clamp(11px,2.2vw,15px); letter-spacing:.5em;
  color:#C9A14A; text-transform:uppercase; margin-top:24px; opacity:0; transition:opacity 1.4s ease .6s;
}
#pc-opening .pc-wordmark.pc-show .pc-tag{ opacity:1; }

/* 南十字星を結ぶ線（実長に合わせてJSで描画） */
#pc-opening .pc-cross-line{
  stroke:#E0BC63; stroke-width:1.6; opacity:0;
  transition:stroke-dashoffset 1.6s ease, opacity .5s ease;
  filter:drop-shadow(0 0 3px rgba(224,188,99,.5));
}
#pc-opening .pc-cross-line.pc-go{ opacity:.75; }

/* スキップ */
#pc-opening .pc-skip{
  position:absolute; right:22px; bottom:20px; z-index:6;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2); color:#cfd8dc;
  font-family:-apple-system,"Hiragino Kaku Gothic ProN",sans-serif; font-size:13px;
  padding:9px 18px; border-radius:999px; cursor:pointer; letter-spacing:.05em;
  transition:background .2s, color .2s; -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
}
#pc-opening .pc-skip:hover{ background:rgba(255,255,255,.16); color:#fff; }

/* 動きを減らす設定の人には控えめに */
@media (prefers-reduced-motion:reduce){
  #pc-opening .pc-line,#pc-opening .pc-wordmark,#pc-opening .pc-sky{ transition-duration:.4s !important; }
}

/* 本体スクロールはオープニング中だけ固定（JSで body に付与） */
body.pc-opening-lock{ overflow:hidden !important; }
