/*
 * NekoOne Public Playtest Look v0.2.5
 * 見た目だけを公開ゲーム風へ。
 * 既存エンジンのロジック・保存値・DOM生成処理は変更しない。
 */

/* =========================================================
   1. WordPress側の「白いページ感」を消す
========================================================= */
html.nekoone-public-playtest-active{
  min-height:100%;
  background:#10091e;
}

body.nekoone-public-playtest-active{
  min-height:100vh;
  color:#f6edff;
  background:
    radial-gradient(circle at 50% -10%,rgba(150,95,215,.32),transparent 34%),
    radial-gradient(circle at 10% 28%,rgba(236,121,192,.13),transparent 28%),
    radial-gradient(circle at 92% 62%,rgba(105,82,205,.16),transparent 34%),
    linear-gradient(180deg,#2b1746 0%,#17102c 45%,#0c0716 100%)!important;
  background-attachment:fixed!important;
}

body.nekoone-public-playtest-active #page,
body.nekoone-public-playtest-active .site,
body.nekoone-public-playtest-active .site-content,
body.nekoone-public-playtest-active .content-area,
body.nekoone-public-playtest-active .site-main,
body.nekoone-public-playtest-active main,
body.nekoone-public-playtest-active article,
body.nekoone-public-playtest-active .entry-content,
body.nekoone-public-playtest-active .wp-site-blocks,
body.nekoone-public-playtest-active .wp-block-post-content{
  background:transparent!important;
}

body.nekoone-public-playtest-active .entry-content,
body.nekoone-public-playtest-active .wp-block-post-content{
  padding-left:0!important;
  padding-right:0!important;
}

/* =========================================================
   2. ゲーム本体の外枠
========================================================= */
.neeaa-test.is-public-playtest{
  position:relative;
  width:min(590px,calc(100% - 18px))!important;
  margin:18px auto 54px!important;
  padding:12px!important;
  overflow:hidden;
  border:1px solid rgba(226,190,255,.25);
  border-radius:32px;
  color:#f9efff!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(137,83,185,.20),transparent 32%),
    linear-gradient(180deg,rgba(35,20,58,.98),rgba(19,11,34,.99));
  box-shadow:
    0 28px 70px rgba(0,0,0,.42),
    0 0 0 1px rgba(255,255,255,.025) inset,
    0 0 42px rgba(127,78,181,.12);
}

/* 成功済みテストヘッダー・接続表示は中身を消さず見た目だけ隠す */
.neeaa-test.is-public-playtest > .neeaa-head,
.neeaa-test.is-public-playtest > .neeaa-connection{
  display:none!important;
}

/* =========================================================
   3. 「ねこっち🐾」ゲームの顔
========================================================= */
.nppl-brand{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:116px;
  margin:0 0 12px;
  padding:18px 72px 16px;
  overflow:hidden;
  border:1px solid rgba(229,194,255,.28);
  border-radius:25px;
  text-align:center;
  background:
    radial-gradient(circle at 50% -30%,rgba(255,212,246,.22),transparent 48%),
    linear-gradient(145deg,rgba(92,49,126,.96),rgba(46,25,80,.98));
  box-shadow:
    0 15px 35px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.nppl-brand::before,
.nppl-brand::after{
  content:"";
  position:absolute;
  width:82px;
  height:82px;
  border-radius:50%;
  border:1px solid rgba(240,215,255,.10);
}

.nppl-brand::before{
  top:-36px;
  left:-24px;
}

.nppl-brand::after{
  right:-28px;
  bottom:-46px;
}

.nppl-brand-inner{
  position:relative;
  z-index:2;
}

.nppl-brand-kicker{
  display:block;
  margin-bottom:4px;
  color:rgba(243,221,255,.65);
  font-size:9px;
  font-weight:800;
  letter-spacing:.20em;
}

.nppl-brand-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  line-height:1;
}

.nppl-brand-title-text{
  color:#fff4ff;
  font-family:"Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;
  font-size:clamp(31px,8vw,44px);
  font-weight:900;
  letter-spacing:.04em;
  text-shadow:
    0 2px 0 rgba(86,44,111,.72),
    0 0 20px rgba(247,203,255,.20);
}

.nppl-brand-paw{
  display:inline-grid;
  place-items:center;
  font-size:clamp(25px,6vw,34px);
  filter:drop-shadow(0 4px 7px rgba(0,0,0,.22));
  transform:rotate(-8deg);
}

.nppl-brand-copy{
  margin:9px 0 0;
  color:#eadcf7;
  font-size:12px;
  font-weight:600;
  letter-spacing:.03em;
}

.nppl-brand-decoration{
  position:absolute;
  right:18px;
  top:50%;
  display:flex;
  flex-direction:column;
  gap:2px;
  color:rgba(255,226,252,.58);
  font-size:13px;
  transform:translateY(-50%);
}

/* =========================================================
   4. 部屋・BGM
========================================================= */
.neeaa-test.is-public-playtest .neeaa-character-host{
  overflow:hidden;
  border:1px solid rgba(230,204,255,.20);
  border-radius:24px;
  box-shadow:
    0 18px 36px rgba(0,0,0,.25),
    0 0 0 1px rgba(255,255,255,.025) inset;
}

.neeaa-test.is-public-playtest .neeaa-character-host .ncae-stage{
  border-radius:23px!important;
}

/* v0.6.9の成功済み本物のBGMボタンは配置を変えず色だけ世界観へ */
.neeaa-test.is-public-playtest
.neeaa-character-host
.ncae-stage
.ncae-bgm-control.neeaa-room-sound-control{
  border-color:rgba(229,195,255,.34)!important;
  background:rgba(44,25,73,.78)!important;
  box-shadow:0 8px 20px rgba(0,0,0,.23)!important;
}

.neeaa-test.is-public-playtest
.neeaa-character-host
.ncae-stage
.neeaa-room-sound-control
.ncae-bgm-toggle{
  border-color:rgba(240,213,255,.28)!important;
  color:#f8eaff!important;
  background:linear-gradient(180deg,rgba(120,70,155,.94),rgba(76,42,112,.96))!important;
}

.neeaa-test.is-public-playtest
.neeaa-character-host
.ncae-stage
.neeaa-room-sound-control
.ncae-bgm-now{
  color:rgba(244,230,255,.77)!important;
}

/* =========================================================
   5. 感情・成長・いちご・操作を同じゲームUIへ統一
========================================================= */
.neeaa-test.is-public-playtest .neeaa-status,
.neeaa-test.is-public-playtest .neeaa-growth,
.neeaa-test.is-public-playtest .neeaa-strawberry-stock,
.neeaa-test.is-public-playtest .neeaa-actions{
  border:1px solid rgba(215,181,244,.20)!important;
  background:
    radial-gradient(circle at 0 0,rgba(153,94,185,.10),transparent 30%),
    linear-gradient(145deg,rgba(46,27,70,.98),rgba(24,14,39,.99))!important;
  box-shadow:
    0 12px 28px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.035)!important;
}

.neeaa-test.is-public-playtest .neeaa-status-symbol{
  color:#5d3972!important;
  background:linear-gradient(145deg,#fff0ff,#e9d4f5)!important;
  box-shadow:0 6px 15px rgba(0,0,0,.16);
}

.neeaa-test.is-public-playtest .neeaa-status-label,
.neeaa-test.is-public-playtest .neeaa-growth-kicker,
.neeaa-test.is-public-playtest .neeaa-growth-meta,
.neeaa-test.is-public-playtest .neeaa-actions-head span,
.neeaa-test.is-public-playtest .neeaa-strawberry-records span{
  color:#bfa8d2!important;
}

.neeaa-test.is-public-playtest .neeaa-status-emotion strong,
.neeaa-test.is-public-playtest .neeaa-growth-head strong,
.neeaa-test.is-public-playtest .neeaa-growth-meta strong,
.neeaa-test.is-public-playtest .neeaa-actions-head strong,
.neeaa-test.is-public-playtest .neeaa-strawberry-summary strong{
  color:#f8eaff!important;
}

.neeaa-test.is-public-playtest .neeaa-status p,
.neeaa-test.is-public-playtest .neeaa-growth-message,
.neeaa-test.is-public-playtest .neeaa-strawberry-stock p{
  color:#dbcce7!important;
}

.neeaa-test.is-public-playtest .neeaa-growth-costume{
  border-color:rgba(229,195,255,.24)!important;
  color:#e7d4f5!important;
  background:rgba(122,76,151,.13);
}

.neeaa-test.is-public-playtest .neeaa-growth-track{
  background:rgba(255,255,255,.085)!important;
}

.neeaa-test.is-public-playtest .neeaa-growth-track span{
  background:linear-gradient(90deg,#9b64c8,#dc9ed5,#f1c7ed)!important;
  box-shadow:0 0 13px rgba(211,143,210,.30);
}

/* 操作ボタン */
.neeaa-test.is-public-playtest .neeaa-action-button{
  border-color:rgba(226,190,255,.24)!important;
  color:#f9efff!important;
  background:
    linear-gradient(180deg,rgba(117,72,151,.96),rgba(73,41,109,.98))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 8px 18px rgba(0,0,0,.17)!important;
}

.neeaa-test.is-public-playtest .neeaa-action-button-special{
  border-color:rgba(255,182,215,.30)!important;
  background:
    linear-gradient(180deg,rgba(175,74,126,.98),rgba(118,45,91,.99))!important;
}

/* いちご購入 */
.neeaa-test.is-public-playtest .neeaa-strawberry-purchase-open,
.neeaa-test.is-public-playtest [data-neeaa-strawberry-buy],
.neeaa-test.is-public-playtest [data-neeaa-strawberry-auth-submit]{
  border-color:rgba(255,190,219,.30)!important;
  color:#fff1f8!important;
  background:linear-gradient(180deg,#a84f84,#74345f)!important;
}

/* =========================================================
   6. テスト用の「裏側」を隠す
========================================================= */
.neeaa-test.is-public-playtest .neeaa-strawberry-test-tools,
.neeaa-test.is-public-playtest .neeaa-action-note{
  display:none!important;
}

/* Albumのテスト仮解放は内部では残す。
   公開見た目モードでは「TEST MODE」文字だけ見せない。 */
.nekoone-memory-album-card.is-test-preview .nekoone-memory-album-meta{
  display:none!important;
}

/* =========================================================
   7. アルバムも紫のゲーム世界へ少し馴染ませる
========================================================= */
body.nekoone-public-playtest-active .nekoone-memory-album-launcher{
  border-color:rgba(236,199,255,.30)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.28)!important;
}

body.nekoone-public-playtest-active .nekoone-memory-album-panel{
  border-color:rgba(218,184,244,.30)!important;
  background:
    radial-gradient(circle at 50% 0,rgba(128,81,170,.18),transparent 35%),
    linear-gradient(180deg,#211332,#0e0818)!important;
}

/* =========================================================
   8. スマホ
========================================================= */
@media(max-width:620px){
  .neeaa-test.is-public-playtest{
    width:calc(100% - 10px)!important;
    margin-top:8px!important;
    padding:7px!important;
    border-radius:24px!important;
  }

  .nppl-brand{
    min-height:94px;
    margin-bottom:8px;
    padding:14px 46px 13px;
    border-radius:20px;
  }

  .nppl-brand-copy{
    margin-top:7px;
    font-size:10.5px;
  }

  .nppl-brand-decoration{
    right:11px;
    font-size:10px;
  }

  .neeaa-test.is-public-playtest .neeaa-character-host{
    border-radius:20px;
  }

  .neeaa-test.is-public-playtest .neeaa-character-host .ncae-stage{
    border-radius:19px!important;
  }

  .neeaa-test.is-public-playtest .neeaa-status,
  .neeaa-test.is-public-playtest .neeaa-growth,
  .neeaa-test.is-public-playtest .neeaa-strawberry-stock,
  .neeaa-test.is-public-playtest .neeaa-actions{
    border-radius:16px!important;
  }
}


/* =========================================================
   v0.2.0 管理者だけの初回プレイ再現コントローラー
========================================================= */
.nppl-admin-controller{
  position:fixed;
  z-index:999999;
  right:10px;
  bottom:82px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:7px;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
}

.nppl-admin-controller-toggle{
  min-height:34px;
  padding:7px 11px;
  border:1px solid rgba(232,201,255,.38);
  border-radius:999px;
  color:#fff3ff;
  background:rgba(57,31,88,.94);
  box-shadow:0 8px 22px rgba(0,0,0,.30);
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
}

body.nekoone-public-playtest-sandbox
.nppl-admin-controller-toggle{
  border-color:rgba(255,205,232,.48);
  background:rgba(132,54,105,.96);
}

.nppl-admin-controller-panel{
  width:min(250px,calc(100vw - 24px));
  padding:12px;
  border:1px solid rgba(230,200,255,.30);
  border-radius:16px;
  color:#f9efff;
  background:rgba(29,16,47,.97);
  box-shadow:0 14px 38px rgba(0,0,0,.40);
}

.nppl-admin-controller-panel strong,
.nppl-admin-controller-panel span{
  display:block;
}

.nppl-admin-controller-panel strong{
  margin-bottom:3px;
  font-size:13px;
}

.nppl-admin-controller-panel span{
  margin-bottom:10px;
  color:#cdb9dc;
  font-size:10px;
  line-height:1.5;
}

.nppl-admin-controller-panel button{
  width:100%;
  min-height:39px;
  margin-top:6px;
  border:1px solid rgba(236,199,255,.30);
  border-radius:12px;
  color:#fff3ff;
  background:linear-gradient(180deg,#8653ad,#603a85);
  font-size:11px;
  font-weight:800;
}

.nppl-admin-controller-panel button.is-secondary{
  color:#d9c9e5;
  background:rgba(255,255,255,.07);
}

/* 初回プレイ再現中だけ、タイトルへほんの少し開始感を足す */
.neeaa-test.is-public-playtest.is-fresh-playtest .nppl-brand{
  box-shadow:
    0 15px 35px rgba(0,0,0,.24),
    0 0 30px rgba(207,143,231,.12),
    inset 0 1px 0 rgba(255,255,255,.10);
}


/* =========================================================
   v0.2.1 サイト共通の下部固定ナビをゲーム中だけ消す
========================================================= */
body.nekoone-public-playtest-active .nppl-hidden-site-bottom-nav,
body.nekoone-public-playtest-active .nppl-hidden-site-bottom-line{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/*
 * 固定ナビが消えた後にテーマ側がbottom余白を残すケースを抑える。
 * ゲーム本体の余白は維持する。
 */
body.nekoone-public-playtest-active{
  padding-bottom:0!important;
}


/* =========================================================
   v0.2.4 ご機嫌表示を「ねこっち🐾」タイトル下へ統合
========================================================= */

/* 元のカードは削除せず、公開見た目だけ非表示 */
.neeaa-test.is-public-playtest .neeaa-status.nppl-status-source-hidden{
  display:none!important;
}

/* タイトルを少し縦長にしてステータスを収める */
.neeaa-test.is-public-playtest .nppl-brand{
  min-height:150px;
  padding-bottom:16px;
}

.neeaa-test.is-public-playtest .nppl-brand-inner{
  width:100%;
  max-width:420px;
}

.nppl-brand-status{
  width:min(100%,360px);
  margin:12px auto 0;
  padding:10px 12px;
  border:1px solid rgba(235,209,255,.22);
  border-radius:16px;
  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.075),
      rgba(117,75,149,.10)
    );
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045);
}

.nppl-brand-status-main{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}

.nppl-brand-status-symbol{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  flex:0 0 36px;
  border:1px solid rgba(244,218,255,.24);
  border-radius:50%;
  color:#6d467e;
  background:linear-gradient(145deg,#fff3ff,#ead6f5);
  box-shadow:0 5px 12px rgba(0,0,0,.16);
  font-size:19px;
  font-weight:900;
  line-height:1;
}

.nppl-brand-status-text{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
}

.nppl-brand-status-label{
  color:rgba(229,207,241,.68);
  font-size:8.5px;
  font-weight:800;
  letter-spacing:.08em;
}

.nppl-brand-status-emotion{
  margin-top:1px;
  color:#fff2ff;
  font-size:15px;
  font-weight:900;
  line-height:1.25;
}

.nppl-brand-status-message{
  margin:7px 0 0;
  color:#dccbe8;
  font-size:10.5px;
  font-weight:600;
  line-height:1.55;
  text-align:center;
}

@media(max-width:620px){
  .neeaa-test.is-public-playtest .nppl-brand{
    min-height:138px;
    padding-top:14px!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }

  .neeaa-test.is-public-playtest .nppl-brand-inner{
    max-width:100%;
  }

  .nppl-brand-status{
    width:min(100%,330px);
    margin-top:10px;
    padding:9px 10px;
  }

  .nppl-brand-status-symbol{
    width:33px;
    height:33px;
    flex-basis:33px;
    font-size:17px;
  }

  .nppl-brand-status-emotion{
    font-size:14px;
  }

  .nppl-brand-status-message{
    font-size:10px;
  }
}


/* =========================================================
   v0.2.5 ご機嫌パネルを暖かいプラム色へ
   タイトル＝夜の紫 / ご機嫌＝感情の暖色 に役割分け
========================================================= */
.neeaa-test.is-public-playtest .nppl-brand-status{
  border-color:rgba(255,190,221,.34)!important;
  background:
    radial-gradient(circle at 18% 10%,rgba(255,205,229,.16),transparent 34%),
    linear-gradient(
      145deg,
      rgba(137,62,112,.78),
      rgba(92,43,98,.74)
    )!important;
  box-shadow:
    0 8px 20px rgba(33,10,29,.14),
    inset 0 1px 0 rgba(255,255,255,.08)!important;
}

.neeaa-test.is-public-playtest .nppl-brand-status-symbol{
  border-color:rgba(255,219,237,.42)!important;
  color:#8b3c69!important;
  background:
    linear-gradient(145deg,#fff5fb,#f5d9e9)!important;
}

.neeaa-test.is-public-playtest .nppl-brand-status-label{
  color:rgba(255,225,239,.78)!important;
}

.neeaa-test.is-public-playtest .nppl-brand-status-emotion{
  color:#fff4fa!important;
  text-shadow:0 1px 10px rgba(255,187,221,.18);
}

.neeaa-test.is-public-playtest .nppl-brand-status-message{
  color:#f4dce9!important;
}
