@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/* ==========================================================================
   ニケフィグ！ アーク前哨基地（ARK OUTPOST）ガンメタル・タクティカル完全版
   Cocoon Child (cocoon-child-master/style.css)
   v0プロトタイプ UIデザイン完全一致仕様
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. デザインシステム・カラートークン（:root 定義）
   -------------------------------------------------------------------------- */
:root {
    /* サイトベース＆コンテナ（青みを削った冷徹なチャコールガンメタル） */
    --nikke-bg-base:             #0d0e12; 
    --nikke-bg-header:           #10131a;
    --nikke-bg-surface:          #161820;
    --nikke-bg-surface-elevated: #1d212b;
    --nikke-bg-inset:            #0a0b0e;

    /* エッジ・境界線（シャープなミリタリー調スチール） */
    --nikke-border:              #262b37;
    --nikke-border-subtle:       rgba(255, 255, 255, 0.08);
    --nikke-border-focus:        #3b4356;

    /* テキスト */
    --nikke-text-heading:        #f3f4f6; /* 見出し（純白クリア） */
    --nikke-text-body:           #d1d5db; /* 本文（クールライトグレー） */
    --nikke-text-muted:          #8b949e; /* 補足・ラベル（スチールグレー） */
    --nikke-text-dim:            #5b6370;

    /* アクセントカラー（v0前哨基地準拠） */
    --nikke-accent-amber:        #f59e0b; /* ハザードイエロー */
    --nikke-accent-cyan:         #38bdf8; /* サイバーシアン */
    --nikke-accent-red:          #ef4444; /* アラートレッド */
    --nikke-accent-green:        #10b981; /* 安定エメラルド */
}

/* --------------------------------------------------------------------------
   2. サイト全体ベースリセット
   -------------------------------------------------------------------------- */
html, body {
    background-color: var(--nikke-bg-base) !important;
    color: var(--nikke-text-body) !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    letter-spacing: -0.01em;
}

/* --------------------------------------------------------------------------
   3. 最上部ヘッダー（超コンパクト・ダークスチール・v0ロゴ仕様）
   -------------------------------------------------------------------------- */
#header-container,
#header,
.header-container {
    background-color: var(--nikke-bg-header) !important;
    border-bottom: 1px solid var(--nikke-border) !important;
    padding: 0 !important;
    min-height: auto !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4) !important;
}

/* ヘッダー内部のパディングを極小化（高さをスリムに圧縮） */
#header .header-in,
.header-container .header-in,
.header-in {
    padding: 10px 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 52px !important;
}

/* サイト名ロゴテキスト（v0風：ホワイト ＋ シアンアクセント） */
.site-name-text,
.site-name-text a {
    color: var(--nikke-text-heading) !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-shadow: none !important;
    text-decoration: none !important;
}
.site-name-text a::after {
    content: "DB";
    font-size: 11px;
    font-weight: 800;
    color: var(--nikke-accent-cyan);
    background: rgba(56, 189, 248, 0.15);
    border: 1px solid rgba(56, 189, 248, 0.4);
    padding: 1px 6px;
    border-radius: 3px;
    letter-spacing: 0.05em;
    vertical-align: middle;
}

/* タグライン（邪魔にならないスリムなミリタリー注記風） */
.tagline {
    color: var(--nikke-text-dim) !important;
    font-size: 11px !important;
    margin: 0 !important;
    padding-left: 12px !important;
    border-left: 1px solid var(--nikke-border) !important;
    display: inline-block !important;
    font-family: monospace !important;
}

/* グローバルナビゲーションバー（ある場合） */
#navi,
.navi-in,
.menu-header {
    background-color: var(--nikke-bg-base) !important;
    border-top: none !important;
    border-bottom: 1px solid var(--nikke-border) !important;
}
.navi-in a,
.menu-header a {
    color: var(--nikke-text-muted) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 10px 18px !important;
}
.navi-in a:hover,
.menu-header a:hover {
    background-color: var(--nikke-bg-surface) !important;
    color: var(--nikke-accent-cyan) !important;
}

/* --------------------------------------------------------------------------
   4. Cocoon大外枠の白浮き・青み完全除去
   -------------------------------------------------------------------------- */
#container,
#content,
.content-in,
#main,
.main {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* 記事枠（個別・固定ページ） */
.article {
    background-color: var(--nikke-bg-surface) !important;
    border: 1px solid var(--nikke-border) !important;
    border-radius: 10px !important;
    padding: 24px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35) !important;
    color: var(--nikke-text-body) !important;
}
.home .article,
.front-page .article,
.nikkefig-front-wrap {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* --------------------------------------------------------------------------
   5. ヒーローエリア（2カラム ＆ SITREP監視HUDパネル統合）
   -------------------------------------------------------------------------- */
.nikkefig-hero {
    background: linear-gradient(135deg, #0a0c10 0%, #12151c 50%, #181c25 100%) !important;
    border: 1px solid var(--nikke-border) !important;
    border-radius: 12px !important;
    padding: 28px 24px !important;
    margin-bottom: 28px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45) !important;
    position: relative !important;
    overflow: hidden !important;
}
.nikkefig-hero::before {
    content: "";
    position: absolute;
    top: 0; right: 0; width: 340px; height: 100%;
    background: radial-gradient(circle at top right, rgba(56, 189, 248, 0.08), transparent 70%);
    pointer-events: none;
}

/* ヒーロー内部の2カラムグリッド */
.nikkefig-hero-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    align-items: center;
}
@media (min-width: 860px) {
    .nikkefig-hero-grid {
        grid-template-columns: 1.15fr 1fr;
        gap: 32px;
    }
}

/* 左カラム：タイトル＆検索 */
.nikkefig-terminal-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: monospace;
    font-size: 11px;
    font-weight: 700;
    color: var(--nikke-accent-cyan);
    background: rgba(10, 12, 16, 0.85);
    border: 1px solid var(--nikke-border);
    padding: 3px 10px;
    border-radius: 4px;
    letter-spacing: 0.08em;
    margin-bottom: 12px;
}
.tag-pulse {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--nikke-accent-cyan);
    box-shadow: 0 0 6px var(--nikke-accent-cyan);
}
.nikkefig-hero-title {
    font-size: 28px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    margin: 0 0 8px !important;
    color: var(--nikke-text-heading) !important;
    letter-spacing: -0.02em !important;
}
.nikkefig-hero-title span {
    color: var(--nikke-accent-cyan);
    background: linear-gradient(to right, #38bdf8, #818cf8);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.nikkefig-hero-desc {
    font-size: 13px !important;
    color: var(--nikke-text-muted) !important;
    margin: 0 0 16px !important;
    line-height: 1.55 !important;
}

/* 検索ボックス（シャープな面取りノッチ） */
.nikkefig-search-box {
    display: flex !important;
    align-items: center !important;
    background: var(--nikke-bg-inset) !important;
    border: 1px solid var(--nikke-border) !important;
    border-radius: 6px !important;
    padding: 4px !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}
.nikkefig-search-box:focus-within {
    border-color: var(--nikke-accent-cyan) !important;
    box-shadow: 0 0 10px rgba(56, 189, 248, 0.2) !important;
}
.search-input-wrap {
    display: flex;
    align-items: center;
    flex-grow: 1;
    padding: 0 8px;
}
.search-input-wrap .search-icon {
    font-size: 13px;
    margin-right: 8px;
    opacity: 0.6;
}
.nikkefig-search-box input {
    background: transparent !important;
    border: none !important;
    color: var(--nikke-text-heading) !important;
    font-size: 13px !important;
    width: 100% !important;
    outline: none !important;
}
.nikkefig-search-box button {
    background: #1e2433 !important;
    color: var(--nikke-accent-cyan) !important;
    border: 1px solid rgba(56, 189, 248, 0.4) !important;
    border-radius: 4px !important;
    padding: 8px 16px !important;
    font-weight: 800 !important;
    font-size: 12px !important;
    letter-spacing: 0.05em !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    /* タクティカル斜め面取り */
    clip-path: polygon(0 0, calc(100% - 6px) 0, 100% 6px, 100% 100%, 0 100%) !important;
}
.nikkefig-search-box button:hover {
    background: var(--nikke-accent-cyan) !important;
    color: #000000 !important;
}

/* 右カラム：SITREP 監視HUDパネル */
.nikkefig-sitrep-hud {
    background: rgba(10, 12, 16, 0.75);
    border: 1px solid var(--nikke-border);
    border-radius: 8px;
    padding: 14px;
    box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.4);
    /* 45度角落ちノッチ */
    clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 0 100%);
}
.sitrep-hud-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--nikke-border);
    padding-bottom: 8px;
    margin-bottom: 12px;
}
.sitrep-badge {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: monospace;
    font-size: 11px;
    font-weight: 800;
}
.badge-dot {
    color: var(--nikke-accent-cyan);
    font-size: 10px;
    animation: blink 2s infinite;
}
@keyframes blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.3; }
}
.badge-text {
    color: var(--nikke-accent-cyan);
    letter-spacing: 0.05em;
}
.badge-sub {
    color: var(--nikke-text-dim);
    font-size: 10px;
}
.sitrep-sys-status {
    font-family: monospace;
    font-size: 10px;
    font-weight: 800;
    color: var(--nikke-accent-green);
    background: rgba(16, 185, 129, 0.1);
    border: 1px solid rgba(16, 185, 129, 0.3);
    padding: 1px 6px;
    border-radius: 2px;
}

/* 4連統計カウンター（HUDインセット仕様） */
.nikkefig-stats-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
}
.nikkefig-stat-card {
    background: #141720 !important;
    border: 1px solid var(--nikke-border) !important;
    border-radius: 6px !important;
    padding: 10px 12px !important;
    text-align: left !important;
    transition: all 0.2s !important;
}
.nikkefig-stat-card:hover {
    border-color: var(--nikke-border-focus) !important;
    background: #1a1e28 !important;
}
.nikkefig-stat-label {
    font-family: monospace !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    color: var(--nikke-text-dim) !important;
    letter-spacing: 0.08em !important;
    margin-bottom: 2px !important;
}
.nikkefig-stat-sub {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: var(--nikke-text-muted) !important;
    margin-bottom: 4px !important;
}
.nikkefig-stat-num {
    font-family: monospace !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}
.num-total { color: var(--nikke-accent-cyan) !important; }
.num-order { color: var(--nikke-accent-red) !important; }
.num-release { color: var(--nikke-accent-amber) !important; }
.num-char { color: #a78bfa !important; }

/* --------------------------------------------------------------------------
   6. ステータスクイックフィルター（v0カプセルバッジ仕様）
   -------------------------------------------------------------------------- */
.nikkefig-quick-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 30px !important;
    padding: 10px 14px !important;
    background: var(--nikke-bg-surface) !important;
    border: 1px solid var(--nikke-border) !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
}
.nikkefig-nav-title {
    font-family: monospace !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    color: var(--nikke-text-dim) !important;
    letter-spacing: 0.05em !important;
    margin-right: 4px !important;
}
.nikkefig-nav-pill {
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 4px 10px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: all 0.2s !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    border: 1px solid transparent !important;
}
.pill-count {
    font-family: monospace;
    font-size: 11px;
    padding: 1px 5px;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.3);
}
.pill-status-open {
    background: rgba(239, 68, 68, 0.12) !important;
    color: #f87171 !important;
    border-color: rgba(239, 68, 68, 0.3) !important;
}
.pill-status-open:hover {
    background: #ef4444 !important;
    color: #ffffff !important;
}
.pill-status-release {
    background: rgba(245, 158, 11, 0.12) !important;
    color: #fbbf24 !important;
    border-color: rgba(245, 158, 11, 0.3) !important;
}
.pill-status-release:hover {
    background: #f59e0b !important;
    color: #ffffff !important;
}
.pill-status-done {
    background: rgba(16, 185, 129, 0.12) !important;
    color: #34d399 !important;
    border-color: rgba(16, 185, 129, 0.3) !important;
}
.pill-status-done:hover {
    background: #10b981 !important;
    color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   7. セクション見出し ＆ UIインジケーターバー
   -------------------------------------------------------------------------- */
.nikkefig-sec-wrap {
    margin-bottom: 36px;
}
.nikkefig-sec-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 16px !important;
    border-bottom: 1px solid var(--nikke-border) !important;
    padding-bottom: 10px !important;
}
.nikkefig-sec-title {
    font-size: 18px !important;
    font-weight: 900 !important;
    color: var(--nikke-text-heading) !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    letter-spacing: -0.01em !important;
}
.sec-indicator {
    display: inline-block;
    width: 4px;
    height: 18px;
    border-radius: 2px;
}
.indicator-red { background: var(--nikke-accent-red); box-shadow: 0 0 8px rgba(239, 68, 68, 0.5); }
.indicator-amber { background: var(--nikke-accent-amber); box-shadow: 0 0 8px rgba(245, 158, 11, 0.5); }
.indicator-cyan { background: var(--nikke-accent-cyan); box-shadow: 0 0 8px rgba(56, 189, 248, 0.5); }

.nikkefig-sec-link {
    font-family: monospace !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    color: var(--nikke-accent-cyan) !important;
    text-decoration: none !important;
    border: 1px solid rgba(56, 189, 248, 0.3) !important;
    padding: 3px 10px !important;
    border-radius: 4px !important;
    transition: all 0.2s !important;
}
.nikkefig-sec-link:hover {
    background: var(--nikke-accent-cyan) !important;
    color: #000000 !important;
}

/* --------------------------------------------------------------------------
   8. フィギュアカード（シャープな1pxスチール枠 ＆ ガンメタル仕様）
   -------------------------------------------------------------------------- */
.nikkefig-card-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)) !important;
    gap: 16px !important;
}
.nikkefig-card,
.card-preorder {
    background: var(--nikke-bg-surface) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    text-decoration: none !important;
    color: inherit !important;
    position: relative !important;
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}
.nikkefig-card:hover,
.card-preorder:hover {
    transform: translateY(-3px) !important;
    border-color: rgba(56, 189, 248, 0.45) !important;
    background: var(--nikke-bg-surface-elevated) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.65), 0 0 12px rgba(56, 189, 248, 0.15) !important;
}
.nikkefig-card-thumb {
    width: 100% !important;
    aspect-ratio: 3 / 4 !important; /* 縦長フィギュアに最適な 3:4 比率（v0プロトタイプ完全準拠） */
    background: #0a0b0e !important;
    position: relative !important;
    overflow: hidden !important;
}
.nikkefig-card-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 20% !important; /* 上半身〜顔が美しく収まる位置調整 */
    transition: transform 0.3s ease !important;
}
.nikkefig-card:hover .nikkefig-card-thumb img {
    transform: scale(1.04) !important;
}

/* ステータスバッジ（ノッチ仕様） */
.nikkefig-card-status-badge {
    position: absolute !important;
    top: 8px !important;
    left: 8px !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    padding: 2px 7px !important;
    color: #ffffff !important;
    border-radius: 2px !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.5) !important;
}
.badge-open { background: var(--nikke-accent-red) !important; }
.badge-released { background: var(--nikke-accent-green) !important; }
.badge-release { background: var(--nikke-accent-cyan) !important; color: #000 !important; }
.badge-closed { background: #4b5563 !important; }

.nikkefig-card-body {
    padding: 12px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}
.nikkefig-card-meta-top {
    display: flex !important;
    justify-content: space-between !important;
    font-size: 11px !important;
    color: var(--nikke-text-muted) !important;
    font-weight: 700 !important;
    margin-bottom: 4px !important;
}
.card-maker-label {
    color: var(--nikke-text-dim);
    font-family: monospace;
}
.card-char-label {
    color: var(--nikke-accent-cyan);
}
.nikkefig-card-title {
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.45 !important;
    margin: 0 0 8px !important;
    color: var(--nikke-text-heading) !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}
.nikkefig-card-details {
    margin-top: auto !important;
    border-top: 1px dashed var(--nikke-border) !important;
    padding-top: 8px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
}
.nikkefig-card-price {
    font-size: 14px !important;
    font-weight: 900 !important;
    color: #f87171 !important;
    font-family: monospace !important;
}
.nikkefig-card-date {
    font-size: 11px !important;
    color: var(--nikke-text-dim) !important;
    font-family: monospace !important;
}

/* --------------------------------------------------------------------------
   9. ソートプルダウン ＆ ページネーション
   -------------------------------------------------------------------------- */
.nikkefig-sort-box {
    display: flex;
    align-items: center;
    gap: 6px;
}
.nikkefig-sort-label {
    font-family: monospace;
    font-size: 11px;
    font-weight: 800;
    color: var(--nikke-text-dim);
}
.nikkefig-sort-select {
    background: var(--nikke-bg-inset) !important;
    color: var(--nikke-text-heading) !important;
    border: 1px solid var(--nikke-border) !important;
    border-radius: 4px !important;
    padding: 5px 10px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    outline: none !important;
    cursor: pointer !important;
}
.nikkefig-sort-select:focus {
    border-color: var(--nikke-accent-cyan) !important;
}

.nikkefig-pagination {
    margin: 28px 0 40px !important;
    text-align: center !important;
}
.nikkefig-pagination .page-numbers {
    display: inline-block !important;
    padding: 6px 12px !important;
    margin: 0 3px !important;
    border-radius: 4px !important;
    border: 1px solid var(--nikke-border) !important;
    background: var(--nikke-bg-surface) !important;
    color: var(--nikke-text-muted) !important;
    font-family: monospace !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    text-decoration: none !important;
    transition: all 0.15s !important;
}
.nikkefig-pagination .page-numbers.current,
.nikkefig-pagination .page-numbers:hover {
    background: var(--nikke-accent-cyan) !important;
    color: #000000 !important;
    border-color: var(--nikke-accent-cyan) !important;
}

/* --------------------------------------------------------------------------
   10. サイドバー（ガンメタル・タクティカル化）
   -------------------------------------------------------------------------- */
#sidebar {
    background: transparent !important;
}
.sidebar .widget,
.sidebar-widget {
    background-color: var(--nikke-bg-surface) !important;
    border: 1px solid var(--nikke-border) !important;
    border-radius: 8px !important;
    padding: 14px 16px !important;
    margin-bottom: 18px !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3) !important;
}
.widget-head .widget-title,
.widget-title {
    color: var(--nikke-text-heading) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    border-bottom: 1px solid var(--nikke-border) !important;
    padding-bottom: 8px !important;
    margin-bottom: 12px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}
.widget-sub {
    font-family: monospace;
    font-size: 10px;
    color: var(--nikke-text-dim);
}
.sb-item-link {
    background: var(--nikke-bg-inset) !important;
    border: 1px solid var(--nikke-border) !important;
    border-radius: 4px !important;
    color: var(--nikke-text-body) !important;
    padding: 6px 10px !important;
    font-size: 12px !important;
    text-decoration: none !important;
}
.sb-item-link:hover {
    background: var(--nikke-bg-surface-elevated) !important;
    border-color: var(--nikke-border-focus) !important;
}
.sb-badge {
    background: var(--nikke-bg-surface) !important;
    color: var(--nikke-text-muted) !important;
    border: 1px solid var(--nikke-border) !important;
}

/* --------------------------------------------------------------------------
   11. 製品詳細スペック表（個別ページ・完全ガンメタル調和）
   -------------------------------------------------------------------------- */
.nikkefig-spec-table {
    background: var(--nikke-bg-surface) !important;
    border: 1px solid var(--nikke-border) !important;
    border-radius: 6px !important;
}
.nikkefig-spec-table th,
.nikkefig-spec-table td {
    border-bottom: 1px solid var(--nikke-border) !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
}
.nikkefig-spec-table th {
    background: var(--nikke-bg-inset) !important;
    color: var(--nikke-text-muted) !important;
    font-weight: 700 !important;
}
.nikkefig-spec-table td {
    background: var(--nikke-bg-surface) !important;
    color: var(--nikke-text-heading) !important;
}

/* --------------------------------------------------------------------------
   12. フッター（最下部・ダークスチール）
   -------------------------------------------------------------------------- */
#footer,
.footer-container {
    background-color: var(--nikke-bg-header) !important;
    border-top: 1px solid var(--nikke-border) !important;
    color: var(--nikke-text-dim) !important;
    padding: 24px 0 !important;
}
.footer-bottom,
.copyright {
    color: var(--nikke-text-dim) !important;
    font-size: 11px !important;
}
#footer a {
    color: var(--nikke-text-muted) !important;
}
#footer a:hover {
    color: var(--nikke-accent-cyan) !important;
}


/* --------------------------------------------------------------------------
   1. トップページ限定：Cocoon標準ヘッダーバーの完全非表示化（干渉ゼロ化）
   -------------------------------------------------------------------------- */
.home #header-container,
.front-page #header-container,
.home #header,
.front-page #header,
.home .header-container,
.front-page .header-container {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* ヒーロー統合型ロゴ＆ミリタリーターミナルタグ（左揃え・完全レスポンシブ） */
.nikkefig-hero-brand-row {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px 14px !important;
    margin-bottom: 12px !important;
}
.nikkefig-hero-logo {
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    color: inherit !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
}
.nikkefig-hero-logo:hover .logo-main {
    color: #38bdf8 !important;
    text-shadow: 0 0 16px rgba(56, 189, 248, 0.6) !important;
}
.nikkefig-hero-logo .logo-main {
    font-family: 'Roboto Condensed', -apple-system, sans-serif !important;
    font-size: 19px !important;
    font-weight: 900 !important;
    color: #ffffff !important;
    letter-spacing: 0.06em !important;
    line-height: 1 !important;
    text-shadow: 0 0 12px rgba(56, 189, 248, 0.35) !important;
    transition: all 0.2s ease !important;
}
.nikkefig-hero-logo .logo-sub {
    font-family: 'Share Tech Mono', monospace !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #38bdf8 !important;
    background: rgba(56, 189, 248, 0.15) !important;
    border: 1px solid rgba(56, 189, 248, 0.4) !important;
    padding: 1px 6px !important;
    border-radius: 3px !important;
    letter-spacing: 0.06em !important;
    line-height: 1.2 !important;
}

/* --------------------------------------------------------------------------
   2. ヒーローエリアと右サイドバーの上端水平整列（Y軸ゼロ合わせ）
   -------------------------------------------------------------------------- */
/* コンテンツコンテナの上部余白を最適化し、左右カラムの上端整列（flex-start）を明示 */
.home #content,
.front-page #content,
.home .content-in,
.front-page .content-in {
    padding-top: 14px !important;
    margin-top: 0 !important;
    display: flex !important;
    align-items: flex-start !important; /* 左右カラムの上端を完全一致 */
}

/* メインカラム（左側）の上部余白完全リセット */
.home #main,
.front-page #main,
.home .main,
.front-page .main {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
.nikkefig-front {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
.nikkefig-hero {
    margin-top: 0 !important;
}

/* サイドバー（右側）の上部余白完全リセット */
.home #sidebar,
.front-page #sidebar,
.home .sidebar,
.front-page .sidebar,
.home .sidebar-in,
.front-page .sidebar-in {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* トップページ表示時：右サイドバー最上部の検索窓を非表示（重複解消） */
.home .nikkefig-sidebar .widget-search,
.front-page .nikkefig-sidebar .widget-search,
body.home #sidebar .widget-search,
body.home #sidebar .widget_search,
body.home #sidebar .sidebar-widget:has(.sb-search-form),
body.front-page #sidebar .sidebar-widget:has(.sb-search-form) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* サイドバー内のウィジェット上部マージンリセット（実質先頭の「⚡ 進行ステータス」がY軸ピッタリ揃う） */
.home #sidebar .sidebar-widget,
.front-page #sidebar .sidebar-widget {
    margin-top: 0 !important;
}
.home #sidebar .sidebar-widget:first-of-type,
.home #sidebar .sidebar-widget:nth-of-type(2),
.front-page #sidebar .sidebar-widget:first-of-type,
.front-page #sidebar .sidebar-widget:nth-of-type(2) {
    margin-top: 0 !important;
}
.home #sidebar .sidebar-widget:not(:last-child),
.front-page #sidebar .sidebar-widget:not(:last-child) {
    margin-bottom: 20px !important;
}

/* --------------------------------------------------------------------------
   3. NIKKE実機UIミリタリーSF装飾（走査線・コンデンストフォント・ノッチ仕様）
   -------------------------------------------------------------------------- */
/* ターミナルタグ（左上ミリタリーOS表示） */
.nikkefig-terminal-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Share Tech Mono', monospace, sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: #38bdf8;
    background: rgba(9, 13, 22, 0.9);
    border: 1px solid rgba(56, 189, 248, 0.4);
    padding: 3px 10px;
    border-radius: 3px;
    letter-spacing: 0.08em;
    margin-bottom: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}
.tag-pulse {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #38bdf8;
    box-shadow: 0 0 8px #38bdf8;
    animation: tagPulse 1.8s infinite ease-in-out;
}
@keyframes tagPulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.35; transform: scale(0.75); }
}
.tag-sub {
    font-size: 9px;
    color: #64748b;
    padding-left: 6px;
    border-left: 1px solid rgba(255, 255, 255, 0.15);
}

/* ヒーローエリア：走査線ストライプ ＆ 斜め面取りノッチ */
.nikkefig-hero {
    background:
        repeating-linear-gradient(135deg, rgba(56, 189, 248, 0.02) 0px, rgba(56, 189, 248, 0.02) 1px, transparent 1px, transparent 8px),
        radial-gradient(circle at 95% 10%, rgba(56, 189, 248, 0.12), transparent 50%),
        linear-gradient(135deg, #090b10 0%, #10141e 50%, #161a25 100%) !important;
    border: 1px solid rgba(56, 189, 248, 0.3) !important;
    border-radius: 8px !important;
    padding: 22px 22px !important;
    margin-bottom: 24px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
    position: relative !important;
    overflow: hidden !important;
    clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%) !important;
}

.nikkefig-hero-title {
    font-family: 'Roboto Condensed', -apple-system, sans-serif !important;
    font-size: 26px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    margin: 0 0 8px !important;
    color: #ffffff !important;
    letter-spacing: -0.01em !important;
    text-transform: uppercase !important;
}
.nikkefig-hero-title span {
    color: #38bdf8 !important;
    background: linear-gradient(90deg, #38bdf8 0%, #818cf8 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

.nikkefig-hero-desc {
    font-size: 13px !important;
    color: #94a3b8 !important;
    margin: 0 0 14px !important;
    line-height: 1.55 !important;
}

/* 検索ボックス（ノッチ＆フォーカス） */
.nikkefig-search-box {
    display: flex !important;
    align-items: center !important;
    background: #090c12 !important;
    border: 1px solid #262b37 !important;
    border-radius: 6px !important;
    padding: 4px !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}
.nikkefig-search-box:focus-within {
    border-color: #38bdf8 !important;
    box-shadow: 0 0 12px rgba(56, 189, 248, 0.25) !important;
}
.nikkefig-search-box button {
    background: #1e2433 !important;
    color: #38bdf8 !important;
    border: 1px solid rgba(56, 189, 248, 0.4) !important;
    border-radius: 4px !important;
    padding: 8px 16px !important;
    font-family: 'Roboto Condensed', sans-serif !important;
    font-weight: 800 !important;
    font-size: 13px !important;
    letter-spacing: 0.08em !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    clip-path: polygon(0 0, calc(100% - 6px) 0, 100% 6px, 100% 100%, 0 100%) !important;
}
.nikkefig-search-box button:hover {
    background: #38bdf8 !important;
    color: #000000 !important;
    box-shadow: 0 0 10px rgba(56, 189, 248, 0.5) !important;
}

/* SITREP 監視HUDパネル */
.nikkefig-sitrep-hud {
    background: rgba(9, 11, 16, 0.88) !important;
    border: 1px solid rgba(56, 189, 248, 0.3) !important;
    border-radius: 6px !important;
    padding: 12px 14px !important;
    box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.5), 0 4px 16px rgba(0, 0, 0, 0.4) !important;
    clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 0 100%) !important;
}
.sitrep-badge {
    font-family: 'Roboto Condensed', 'Share Tech Mono', monospace !important;
    letter-spacing: 0.08em !important;
}
.sitrep-badge .badge-text {
    font-size: 12px !important;
    color: #38bdf8 !important;
}
.sitrep-sys-status {
    font-family: 'Share Tech Mono', monospace !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    color: #34d399 !important;
    background: rgba(16, 185, 129, 0.15) !important;
    border: 1px solid rgba(16, 185, 129, 0.4) !important;
    padding: 2px 7px !important;
    border-radius: 2px !important;
}
.nikkefig-stat-label {
    font-family: 'Roboto Condensed', 'Share Tech Mono', monospace !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}
.nikkefig-stat-num {
    font-family: 'Share Tech Mono', monospace, sans-serif !important;
    font-size: 26px !important;
    font-weight: 900 !important;
    letter-spacing: -0.02em !important;
}

/* セクション見出し：ミリタリーSFデザイン（太い縦アクセントバー ＆ 走査線背景） */
.nikkefig-sec-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.012) 0px, rgba(255, 255, 255, 0.012) 1px, transparent 1px, transparent 16px),
        linear-gradient(90deg, rgba(19, 28, 49, 0.85) 0%, rgba(9, 13, 22, 0.45) 100%) !important;
    border-left: 5px solid #38bdf8 !important;
    border-bottom: 1px solid rgba(56, 189, 248, 0.25) !important;
    padding: 10px 16px !important;
    border-radius: 0 6px 6px 0 !important;
    margin-bottom: 16px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}
.nikkefig-sec-wrap:first-of-type .nikkefig-sec-head {
    border-left-color: #ef4444 !important;
    border-bottom-color: rgba(239, 68, 68, 0.35) !important;
}
.nikkefig-sec-title {
    font-family: 'Roboto Condensed', -apple-system, sans-serif !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    letter-spacing: 0.04em !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #f8fafc !important;
    margin: 0 !important;
}

/* フィギュアカード：四隅メカニカルコーナーブラケット ＆ アークブルーホバー光彩 */
.nikkefig-card,
.card-preorder {
    background: #10131a !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 4px !important;
    position: relative !important;
    overflow: hidden !important;
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease, border-color 0.25s ease !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.5) !important;
}

/* 四隅コーナーブラケット装飾（右上＆左下） */
.nikkefig-card::before {
    content: "";
    position: absolute;
    top: 0; right: 0;
    width: 10px; height: 10px;
    border-top: 2px solid rgba(56, 189, 248, 0.4);
    border-right: 2px solid rgba(56, 189, 248, 0.4);
    pointer-events: none;
    z-index: 4;
    transition: all 0.25s ease;
}
.nikkefig-card::after {
    content: "";
    position: absolute;
    bottom: 0; left: 0;
    width: 10px; height: 10px;
    border-bottom: 2px solid rgba(56, 189, 248, 0.4);
    border-left: 2px solid rgba(56, 189, 248, 0.4);
    pointer-events: none;
    z-index: 4;
    transition: all 0.25s ease;
}

/* ホバー時のアークブルーネオン光彩 & ブラケット伸長 */
.nikkefig-card:hover,
.card-preorder:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(56, 189, 248, 0.75) !important;
    background: #141822 !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.75), 0 0 16px rgba(56, 189, 248, 0.3), inset 0 0 10px rgba(56, 189, 248, 0.06) !important;
}
.nikkefig-card:hover::before,
.nikkefig-card:hover::after {
    border-color: #38bdf8 !important;
    width: 16px !important;
    height: 16px !important;
}

/* サムネイル画像エリアのミリタリー走査線オーバーレイ */
.nikkefig-card-thumb::before {
    content: "";
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(180deg, transparent 0px, transparent 3px, rgba(0, 0, 0, 0.15) 3px, rgba(0, 0, 0, 0.15) 4px);
    pointer-events: none;
    z-index: 2;
    opacity: 0.5;
    transition: opacity 0.25s ease;
}
.nikkefig-card:hover .nikkefig-card-thumb::before {
    opacity: 0.15;
}


/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}


/* 1. 上段独立タクティカル・カルーセル枠（.nikkefig-tactical-monitor） */
.nikkefig-tactical-monitor {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important; /* ★親幅突き破りを物理的に防止する最重要プロパティ */
    box-sizing: border-box !important;
    overflow: hidden !important; /* ★カルーセルの飛び出しを完全に遮断 */
    background:
        repeating-linear-gradient(135deg, rgba(234, 88, 12, 0.02) 0px, rgba(234, 88, 12, 0.02) 1px, transparent 1px, transparent 8px),
        radial-gradient(circle at 95% 10%, rgba(234, 88, 12, 0.08), transparent 50%),
        linear-gradient(135deg, #0c0e14 0%, #11141d 50%, #161922 100%) !important;
    border: 1px solid rgba(245, 158, 11, 0.4) !important;
    border-radius: 8px !important;
    padding: 16px 16px 18px 16px !important;
    margin-bottom: 0 !important;
    position: relative !important;
    box-shadow: 0 10px 32px rgba(0, 0, 0, 0.6), inset 0 0 30px rgba(245, 158, 11, 0.04) !important;
    clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%) !important;
}

/* 四隅コーナーブラケット（軍用端末装飾） */
.nikkefig-tactical-monitor::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important; right: 0 !important;
    width: 14px !important; height: 14px !important;
    border-top: 2px solid #f59e0b !important;
    border-right: 2px solid #f59e0b !important;
    pointer-events: none !important;
    z-index: 5 !important;
}
.nikkefig-tactical-monitor::after {
    content: "" !important;
    position: absolute !important;
    bottom: 0 !important; left: 0 !important;
    width: 14px !important; height: 14px !important;
    border-bottom: 2px solid #f59e0b !important;
    border-left: 2px solid #f59e0b !important;
    pointer-events: none !important;
    z-index: 5 !important;
}

/* モニターヘッダー */
.tactical-monitor-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px 14px !important;
    background: transparent !important;
    border-left: 5px solid #ef4444 !important;
    border-bottom: 1px solid rgba(239, 68, 68, 0.3) !important;
    padding: 4px 10px 10px 12px !important;
    margin-bottom: 14px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.tactical-monitor-title-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}
.tactical-monitor-hud-tag {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-family: 'Share Tech Mono', monospace !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    color: #fbbf24 !important;
    background: rgba(245, 158, 11, 0.12) !important;
    border: 1px solid rgba(245, 158, 11, 0.35) !important;
    padding: 2px 8px !important;
    border-radius: 3px !important;
    letter-spacing: 0.08em !important;
}
.pulse-dot-red {
    color: #ef4444 !important;
    font-size: 9px !important;
    animation: hazardPulseDot 1.6s infinite ease-in-out !important;
}
@keyframes hazardPulseDot {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.25; transform: scale(0.75); }
}

.tactical-monitor-controls {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

/* カルーセル左右スクロールボタン */
.carousel-nav-btns {
    display: inline-flex !important;
    gap: 4px !important;
    background: #080a0f !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 4px !important;
    padding: 2px !important;
}
.carousel-arrow-btn {
    background: #141822 !important;
    color: #f8fafc !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 3px !important;
    width: 28px !important;
    height: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    line-height: 1 !important;
    outline: none !important;
    padding: 0 !important;
}
.carousel-arrow-btn:hover {
    background: #38bdf8 !important;
    color: #090c12 !important;
    border-color: #38bdf8 !important;
    box-shadow: 0 0 10px rgba(56, 189, 248, 0.5) !important;
}

/* 2. カルーセルトラック＆横スクロール（局所完結・親幅押し広げ防止） */
.preorder-carousel-viewport {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}
.preorder-carousel {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important; /* ★横スクロールはここで完結 */
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    gap: 12px !important;
    padding: 4px 4px 8px 4px !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(245, 158, 11, 0.45) rgba(9, 11, 16, 0.8) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}
.preorder-carousel::-webkit-scrollbar {
    height: 5px !important;
}
.preorder-carousel::-webkit-scrollbar-track {
    background: rgba(9, 11, 16, 0.8) !important;
    border-radius: 3px !important;
}
.preorder-carousel::-webkit-scrollbar-thumb {
    background: rgba(245, 158, 11, 0.45) !important;
    border-radius: 3px !important;
}
.preorder-carousel::-webkit-scrollbar-thumb:hover {
    background: #f59e0b !important;
}

/* 3. カルーセル内カード（幅固定・スクロールスナップ・縦長比率） */
.preorder-carousel .carousel-card {
    flex: 0 0 210px !important;
    width: 210px !important;
    min-width: 210px !important;
    max-width: 210px !important;
    scroll-snap-align: start !important;
    scroll-snap-stop: normal !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
}
@media (max-width: 520px) {
    .preorder-carousel .carousel-card {
        flex: 0 0 190px !important;
        width: 190px !important;
        min-width: 190px !important;
        max-width: 190px !important;
    }
}

/* カードサムネイルの縦長ロスター比率（3:4）維持 */
.preorder-carousel .carousel-card .nikkefig-card-thumb {
    width: 100% !important;
    aspect-ratio: 3 / 4 !important;
    height: auto !important;
    overflow: hidden !important;
    position: relative !important;
}
.preorder-carousel .carousel-card .nikkefig-card-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 20% !important;
}

/* 4. セクション境界タクティカル・ディバイダー（NIKKE実機風ハザードストライプ） */
.nikkefig-tactical-divider {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    margin-top: 24px !important;
    margin-bottom: 36px !important;
    position: relative !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.nikkefig-tactical-divider .divider-line {
    flex-grow: 1 !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, rgba(56, 189, 248, 0.35), transparent) !important;
}
.nikkefig-tactical-divider .divider-label {
    font-family: 'Share Tech Mono', 'Roboto Condensed', monospace !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.14em !important;
    color: #64748b !important;
    background: #090c12 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 5px 14px !important;
    border-radius: 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
    white-space: nowrap !important;
}
.nikkefig-tactical-divider .hazard-stripe {
    color: #f59e0b !important;
    font-weight: 900 !important;
    letter-spacing: 0.05em !important;
}

/* ==========================================================================
   カルーセルの横突き破り完全防止 ＆ 全幅スクロール保証
   ========================================================================== */

/* 1. 親ラッパーの横幅を画面幅（viewport）内に完全にロック */
.home #content,
.front-page #content,
.home .content-in,
.front-page .content-in,
.home #main,
.front-page #main,
.home .main,
.front-page .main {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

/* 2. カルーセル外枠：親の幅を超えないように完全遮断 */
.nikkefig-tactical-monitor {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* 3. スクロール領域：横スクロールを強制し、スマホのタッチスワイプを有効化 */
.preorder-carousel {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;          /* 横スクロール枠 */
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important; /* iOS/スマホでの滑らかなスワイプ操作を保証 */
    touch-action: pan-x !important;               /* モバイルでの左右スワイプ操作をブラウザに明示 */
    box-sizing: border-box !important;
}

/* 4. カード自体が縮まず、かつ枠外へ力を伝播させない設定 */
.preorder-carousel .carousel-card,
.preorder-carousel .nikkefig-card {
    flex: 0 0 210px !important;
    max-width: 210px !important;
    scroll-snap-align: start !important;
    box-sizing: border-box !important;
}

/* ==========================================================================
   ニケフィグ！ NIKKE実機UI準拠 タクティカルSFデザイン統合スタイルシート（Clean版）
   ファイル名: nikkefig-tactical-clean.css
   適用先: Cocoon Child (style.css または 外観 > カスタマイズ > 追加CSS)
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,700;0,800;0,900;1,700&family=Share+Tech+Mono&display=swap');

/* ==========================================================================
   1. トップページ限定：Cocoon標準ヘッダーバーの完全非表示化（干渉ゼロ化）
   ========================================================================== */
.home #header-container,
.front-page #header-container,
.home #header,
.front-page #header,
.home .header-container,
.front-page .header-container {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* ==========================================================================
   2. ヒーロー統合型ロゴ＆ミリタリーターミナルタグ（左揃え・完全レスポンシブ）
   ========================================================================== */
.nikkefig-hero-brand-row {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px 14px !important;
    margin-bottom: 12px !important;
}
.nikkefig-hero-logo {
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    color: inherit !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
}
.nikkefig-hero-logo .logo-main {
    font-family: 'Roboto Condensed', -apple-system, sans-serif !important;
    font-size: 19px !important;
    font-weight: 900 !important;
    color: #ffffff !important;
    letter-spacing: 0.06em !important;
    line-height: 1 !important;
    text-shadow: 0 0 12px rgba(56, 189, 248, 0.35) !important;
}
.nikkefig-hero-logo .logo-sub {
    font-family: 'Share Tech Mono', monospace !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #38bdf8 !important;
    background: rgba(56, 189, 248, 0.15) !important;
    border: 1px solid rgba(56, 189, 248, 0.4) !important;
    padding: 1px 6px !important;
    border-radius: 3px !important;
    letter-spacing: 0.06em !important;
    line-height: 1.2 !important;
}

/* ==========================================================================
   2. ヒーローエリアと右サイドバーの上端水平整列（Y軸ゼロ合わせ）
   ========================================================================== */
/* コンテンツコンテナの上部余白を最適化し、左右カラムの上端整列（flex-start）を明示 */
.home #content,
.front-page #content,
.home .content-in,
.front-page .content-in {
    padding-top: 14px !important;
    margin-top: 0 !important;
    display: flex !important;
    align-items: flex-start !important; /* 左右カラムの上端を完全一致 */
}

/* メインカラム（左側）の上部余白完全リセット */
.home #main,
.front-page #main,
.home .main,
.front-page .main {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
.nikkefig-front {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
.nikkefig-hero {
    margin-top: 0 !important;
}

/* サイドバー（右側）の上部余白完全リセット */
.home #sidebar,
.front-page #sidebar,
.home .sidebar,
.front-page .sidebar,
.home .sidebar-in,
.front-page .sidebar-in {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* トップページ表示時：右サイドバー最上部の検索窓を非表示（重複解消） */
.home .nikkefig-sidebar .widget-search,
.front-page .nikkefig-sidebar .widget-search,
body.home #sidebar .widget-search,
body.home #sidebar .widget_search,
body.home #sidebar .sidebar-widget:has(.sb-search-form),
body.front-page #sidebar .sidebar-widget:has(.sb-search-form) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* サイドバー内のウィジェット上部マージンリセット（実質先頭の「⚡ 進行ステータス」がY軸ピッタリ揃う） */
.home #sidebar .sidebar-widget,
.front-page #sidebar .sidebar-widget {
    margin-top: 0 !important;
}
.home #sidebar .sidebar-widget:first-of-type,
.home #sidebar .sidebar-widget:nth-of-type(2),
.front-page #sidebar .sidebar-widget:first-of-type,
.front-page #sidebar .sidebar-widget:nth-of-type(2) {
    margin-top: 0 !important;
}
.home #sidebar .sidebar-widget:not(:last-child),
.front-page #sidebar .sidebar-widget:not(:last-child) {
    margin-bottom: 20px !important;
}

/* ==========================================================================
   3. NIKKE実機UIミリタリーSF装飾（走査線・コンデンストフォント・メカニカルフレーム）
   ========================================================================== */
/* ターミナルタグ（左上ミリタリーOS表示） */
.nikkefig-terminal-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Share Tech Mono', monospace, sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: #38bdf8;
    background: rgba(9, 13, 22, 0.9);
    border: 1px solid rgba(56, 189, 248, 0.4);
    padding: 3px 10px;
    border-radius: 3px;
    letter-spacing: 0.08em;
    margin-bottom: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}
.tag-pulse {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #38bdf8;
    box-shadow: 0 0 8px #38bdf8;
    animation: tagPulse 1.8s infinite ease-in-out;
}
@keyframes tagPulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.35; transform: scale(0.75); }
}
.tag-sub {
    font-size: 9px;
    color: #64748b;
    padding-left: 6px;
    border-left: 1px solid rgba(255, 255, 255, 0.15);
}

/* ヒーローエリア：走査線ストライプ ＆ 斜め面取りノッチ */
.nikkefig-hero {
    background:
        repeating-linear-gradient(135deg, rgba(56, 189, 248, 0.02) 0px, rgba(56, 189, 248, 0.02) 1px, transparent 1px, transparent 8px),
        radial-gradient(circle at 95% 10%, rgba(56, 189, 248, 0.12), transparent 50%),
        linear-gradient(135deg, #090b10 0%, #10141e 50%, #161a25 100%) !important;
    border: 1px solid rgba(56, 189, 248, 0.3) !important;
    border-radius: 8px !important;
    padding: 22px 22px !important;
    margin-bottom: 24px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
    position: relative !important;
    overflow: hidden !important;
    clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%) !important;
}

.nikkefig-hero-title {
    font-family: 'Roboto Condensed', -apple-system, sans-serif !important;
    font-size: 26px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    margin: 0 0 8px !important;
    color: #ffffff !important;
    letter-spacing: -0.01em !important;
    text-transform: uppercase !important;
}
.nikkefig-hero-title span {
    color: #38bdf8 !important;
    background: linear-gradient(90deg, #38bdf8 0%, #818cf8 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

.nikkefig-hero-desc {
    font-size: 13px !important;
    color: #94a3b8 !important;
    margin: 0 0 14px !important;
    line-height: 1.55 !important;
}

/* ヒーロー内 検索ボックス（ノッチ＆フォーカス） */
.nikkefig-search-box {
    display: flex !important;
    align-items: center !important;
    background: #090c12 !important;
    border: 1px solid #262b37 !important;
    border-radius: 6px !important;
    padding: 4px !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}
.nikkefig-search-box:focus-within {
    border-color: #38bdf8 !important;
    box-shadow: 0 0 12px rgba(56, 189, 248, 0.25) !important;
}
.nikkefig-search-box button {
    background: #1e2433 !important;
    color: #38bdf8 !important;
    border: 1px solid rgba(56, 189, 248, 0.4) !important;
    border-radius: 4px !important;
    padding: 8px 16px !important;
    font-family: 'Roboto Condensed', sans-serif !important;
    font-weight: 800 !important;
    font-size: 13px !important;
    letter-spacing: 0.08em !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    clip-path: polygon(0 0, calc(100% - 6px) 0, 100% 6px, 100% 100%, 0 100%) !important;
}
.nikkefig-search-box button:hover {
    background: #38bdf8 !important;
    color: #000000 !important;
    box-shadow: 0 0 10px rgba(56, 189, 248, 0.5) !important;
}

/* SITREP 監視HUDパネル */
.nikkefig-sitrep-hud {
    background: rgba(9, 11, 16, 0.88) !important;
    border: 1px solid rgba(56, 189, 248, 0.3) !important;
    border-radius: 6px !important;
    padding: 12px 14px !important;
    box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.5), 0 4px 16px rgba(0, 0, 0, 0.4) !important;
    clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 0 100%) !important;
}
.sitrep-badge {
    font-family: 'Roboto Condensed', 'Share Tech Mono', monospace !important;
    letter-spacing: 0.08em !important;
}
.sitrep-badge .badge-text {
    font-size: 12px !important;
    color: #38bdf8 !important;
}
.sitrep-sys-status {
    font-family: 'Share Tech Mono', monospace !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    color: #34d399 !important;
    background: rgba(16, 185, 129, 0.15) !important;
    border: 1px solid rgba(16, 185, 129, 0.4) !important;
    padding: 2px 7px !important;
    border-radius: 2px !important;
}
.nikkefig-stat-label {
    font-family: 'Roboto Condensed', 'Share Tech Mono', monospace !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}
.nikkefig-stat-num {
    font-family: 'Share Tech Mono', monospace, sans-serif !important;
    font-size: 26px !important;
    font-weight: 900 !important;
    letter-spacing: -0.02em !important;
}

/* セクション見出し：ミリタリーSFデザイン（太い縦アクセントバー ＆ 走査線背景） */
.nikkefig-sec-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.012) 0px, rgba(255, 255, 255, 0.012) 1px, transparent 1px, transparent 16px),
        linear-gradient(90deg, rgba(19, 28, 49, 0.85) 0%, rgba(9, 13, 22, 0.45) 100%) !important;
    border-left: 5px solid #38bdf8 !important;
    border-bottom: 1px solid rgba(56, 189, 248, 0.25) !important;
    padding: 10px 16px !important;
    border-radius: 0 6px 6px 0 !important;
    margin-bottom: 16px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}
.nikkefig-sec-wrap:first-of-type .nikkefig-sec-head {
    border-left-color: #ef4444 !important;
    border-bottom-color: rgba(239, 68, 68, 0.35) !important;
}
.nikkefig-sec-title {
    font-family: 'Roboto Condensed', -apple-system, sans-serif !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    letter-spacing: 0.04em !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #f8fafc !important;
    margin: 0 !important;
}

/* フィギュアカード：四隅メカニカルコーナーブラケット ＆ アークブルーホバー光彩 */
.nikkefig-card,
.card-preorder {
    background: #10131a !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 4px !important;
    position: relative !important;
    overflow: hidden !important;
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease, border-color 0.25s ease !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.5) !important;
}

/* 四隅コーナーブラケット装飾（右上＆左下） */
.nikkefig-card::before {
    content: "";
    position: absolute;
    top: 0; right: 0;
    width: 10px; height: 10px;
    border-top: 2px solid rgba(56, 189, 248, 0.4);
    border-right: 2px solid rgba(56, 189, 248, 0.4);
    pointer-events: none;
    z-index: 4;
    transition: all 0.25s ease;
}
.nikkefig-card::after {
    content: "";
    position: absolute;
    bottom: 0; left: 0;
    width: 10px; height: 10px;
    border-bottom: 2px solid rgba(56, 189, 248, 0.4);
    border-left: 2px solid rgba(56, 189, 248, 0.4);
    pointer-events: none;
    z-index: 4;
    transition: all 0.25s ease;
}

/* ホバー時のアークブルーネオン光彩 & ブラケット伸長 */
.nikkefig-card:hover,
.card-preorder:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(56, 189, 248, 0.75) !important;
    background: #141822 !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.75), 0 0 16px rgba(56, 189, 248, 0.3), inset 0 0 10px rgba(56, 189, 248, 0.06) !important;
}
.nikkefig-card:hover::before,
.nikkefig-card:hover::after {
    border-color: #38bdf8 !important;
    width: 16px !important;
    height: 16px !important;
}

/* サムネイル画像エリアのミリタリー走査線オーバーレイ */
.nikkefig-card-thumb::before {
    content: "";
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(180deg, transparent 0px, transparent 3px, rgba(0, 0, 0, 0.15) 3px, rgba(0, 0, 0, 0.15) 4px);
    pointer-events: none;
    z-index: 2;
    opacity: 0.5;
    transition: opacity 0.25s ease;
}
.nikkefig-card:hover .nikkefig-card-thumb::before {
    opacity: 0.15;
}

/* --- 受注締切バッジ（買い逃し防止カウントダウン） --- */
/* nikkefig-card-deadline-badge unified below */
.badge-deadline-urgent {
    background: rgba(234, 88, 12, 0.95) !important;
    color: #ffffff !important;
    border: 1px solid #f97316 !important;
    box-shadow: 0 0 10px rgba(234, 88, 12, 0.65), 0 2px 6px rgba(0, 0, 0, 0.8) !important;
    animation: hazardPulse 1.8s infinite ease-in-out !important;
}
.badge-hazard-icon {
    font-size: 11px !important;
    color: #fef08a !important;
    display: inline-block !important;
}
.badge-deadline-normal {
    background: rgba(15, 23, 42, 0.88) !important;
    color: #38bdf8 !important;
    border: 1px solid rgba(56, 189, 248, 0.35) !important;
    backdrop-filter: blur(4px) !important;
}
.badge-deadline-none {
    background: rgba(30, 41, 59, 0.8) !important;
    color: #94a3b8 !important;
    border: 1px solid rgba(51, 65, 85, 0.45) !important;
    backdrop-filter: blur(4px) !important;
}
.badge-deadline-expired {
    background: rgba(17, 24, 39, 0.9) !important;
    color: #64748b !important;
    border: 1px solid #374151 !important;
}
@keyframes hazardPulse {
    0%, 100% {
        box-shadow: 0 0 8px rgba(234, 88, 12, 0.5), 0 2px 6px rgba(0, 0, 0, 0.8);
        border-color: #f97316;
    }
    50% {
        box-shadow: 0 0 16px rgba(249, 115, 22, 0.85), 0 2px 8px rgba(0, 0, 0, 0.9);
        border-color: #fdba74;
    }
}

/* --- 予約・締切ステータスバッジ3段階遷移スタイル --- */
.badge-open-cyan {
    background: rgba(2, 132, 199, 0.92) !important;
    color: #ffffff !important;
    border: 1px solid #38bdf8 !important;
}
.badge-open-alert {
    background: rgba(239, 68, 68, 0.95) !important;
    color: #ffffff !important;
    border: 1px solid #f87171 !important;
    box-shadow: 0 0 8px rgba(239, 68, 68, 0.6) !important;
}
.badge-closed-dark {
    background: rgba(30, 41, 59, 0.92) !important;
    color: #94a3b8 !important;
    border: 1px solid #475569 !important;
}
.badge-deadline-normal {
    background: rgba(15, 23, 42, 0.88) !important;
    color: #cbd5e1 !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    backdrop-filter: blur(4px) !important;
}
.badge-shop-available {
    background: rgba(5, 150, 105, 0.92) !important;
    color: #ffffff !important;
    border: 1px solid #34d399 !important;
    box-shadow: 0 0 8px rgba(16, 185, 129, 0.45), 0 2px 4px rgba(0, 0, 0, 0.6) !important;
    backdrop-filter: blur(4px) !important;
}
.badge-status-default {
    background: rgba(15, 23, 42, 0.85) !important;
    color: #cbd5e1 !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

/* === フィギュアグリッド（横4列配置 ＆ レスポンシブ最適化） === */
/* モバイル：2列（スマホ画面で写真と情報をすっきり両立） */
.nikkefig-card-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-bottom: 32px !important;
}

/* タブレット（小）：3列 */
@media (min-width: 520px) {
    .nikkefig-card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }
}

/* PC / デスクトップ（768px以上）：堂々の横4列配置！ */
@media (min-width: 768px) {
    .nikkefig-card-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }
}

/* ワイド画面（1100px以上）：ゆったり横4列 */
@media (min-width: 1100px) {
    .nikkefig-card-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }
}

/* 4列表示に最適化したカード内部レイアウト */
.nikkefig-card,
.card-preorder {
    border-radius: 8px !important;
    overflow: hidden !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
}

.nikkefig-card-thumb {
    width: 100% !important;
    aspect-ratio: 3 / 4 !important; /* 縦長フィギュアに最適な 3:4 比率 */
    background: #0a0b0e !important;
    position: relative !important;
    overflow: hidden !important;
}

.nikkefig-card-body {
    padding: 10px !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

.nikkefig-card-meta-top {
    display: flex !important;
    justify-content: space-between !important;
    font-size: 10px !important;
    margin-bottom: 4px !important;
    line-height: 1.2 !important;
}

.nikkefig-card-title {
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
    margin: 0 0 6px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.nikkefig-card-details {
    margin-top: auto !important;
    padding-top: 6px !important;
    border-top: 1px dashed rgba(255, 255, 255, 0.1) !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
}

.nikkefig-card-price {
    font-size: 13px !important;
    font-weight: 900 !important;
    font-family: monospace, sans-serif !important;
}

.nikkefig-card-date {
    font-size: 10px !important;
    font-family: monospace, sans-serif !important;
}

/* --- フィギュアカード用 バッジ行コンテナ（左右配置・安全マージン・完全共通定義） --- */
.nikkefig-card-badge-row {
    position: absolute !important;
    top: 6px !important;
    left: 6px !important;
    right: 6px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 4px !important;
    z-index: 3 !important;
    pointer-events: none !important;
}
.nikkefig-card-badge-row.is-right-only {
    justify-content: flex-end !important;
}

/* 左右バッジ共通スタイル（font-size: 0.65rem, padding: 2px 6px, line-height: 1.2, white-space: nowrap） */
.nikkefig-card-status-badge,
.nikkefig-card-deadline-badge {
    position: static !important; /* flex子要素化して重なりを完全排除 */
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    font-size: 0.65rem !important;
    padding: 2px 6px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    font-weight: 800 !important;
    border-radius: 3px !important;
    font-family: monospace, sans-serif !important;
    letter-spacing: 0.02em !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.6) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 2px !important;
    pointer-events: auto !important;
    box-sizing: border-box !important;
}

.nikkefig-card-status-badge {
    margin-right: auto !important;
}

.nikkefig-card-deadline-badge {
    margin-left: auto !important;
    text-transform: uppercase !important;
}

.badge-hazard-icon {
    font-size: 0.68rem !important;
    color: #fef08a !important;
    display: inline-block !important;
    line-height: 1 !important;
}

/* ==========================================================================
   上段独立タクティカル・カルーセル枠（.nikkefig-tactical-monitor）
   ========================================================================== */
.nikkefig-tactical-monitor {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important; /* ★親幅突き破りを物理的に防止する最重要プロパティ */
    box-sizing: border-box !important;
    overflow: hidden !important; /* ★カルーセルの飛び出しを完全に遮断 */
    background:
        repeating-linear-gradient(135deg, rgba(234, 88, 12, 0.02) 0px, rgba(234, 88, 12, 0.02) 1px, transparent 1px, transparent 8px),
        radial-gradient(circle at 95% 10%, rgba(234, 88, 12, 0.08), transparent 50%),
        linear-gradient(135deg, #0c0e14 0%, #11141d 50%, #161922 100%) !important;
    border: 1px solid rgba(245, 158, 11, 0.4) !important;
    border-radius: 8px !important;
    padding: 16px 16px 18px 16px !important;
    margin-bottom: 0 !important;
    position: relative !important;
    box-shadow: 0 10px 32px rgba(0, 0, 0, 0.6), inset 0 0 30px rgba(245, 158, 11, 0.04) !important;
    clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%) !important;
}

/* 四隅コーナーブラケット（軍用端末装飾） */
.nikkefig-tactical-monitor::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important; right: 0 !important;
    width: 14px !important; height: 14px !important;
    border-top: 2px solid #f59e0b !important;
    border-right: 2px solid #f59e0b !important;
    pointer-events: none !important;
    z-index: 5 !important;
}
.nikkefig-tactical-monitor::after {
    content: "" !important;
    position: absolute !important;
    bottom: 0 !important; left: 0 !important;
    width: 14px !important; height: 14px !important;
    border-bottom: 2px solid #f59e0b !important;
    border-left: 2px solid #f59e0b !important;
    pointer-events: none !important;
    z-index: 5 !important;
}

/* モニターヘッダー */
.tactical-monitor-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px 14px !important;
    background: transparent !important;
    border-left: 5px solid #ef4444 !important;
    border-bottom: 1px solid rgba(239, 68, 68, 0.3) !important;
    padding: 4px 10px 10px 12px !important;
    margin-bottom: 14px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.tactical-monitor-title-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}
.tactical-monitor-hud-tag {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-family: 'Share Tech Mono', monospace !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    color: #fbbf24 !important;
    background: rgba(245, 158, 11, 0.12) !important;
    border: 1px solid rgba(245, 158, 11, 0.35) !important;
    padding: 2px 8px !important;
    border-radius: 3px !important;
    letter-spacing: 0.08em !important;
}
.pulse-dot-red {
    color: #ef4444 !important;
    font-size: 9px !important;
    animation: hazardPulseDot 1.6s infinite ease-in-out !important;
}
@keyframes hazardPulseDot {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.25; transform: scale(0.75); }
}

.tactical-monitor-controls {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

/* カルーセル左右スクロールボタン */
.carousel-nav-btns {
    display: inline-flex !important;
    gap: 4px !important;
    background: #080a0f !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 4px !important;
    padding: 2px !important;
}
.carousel-arrow-btn {
    background: #141822 !important;
    color: #f8fafc !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 3px !important;
    width: 28px !important;
    height: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    line-height: 1 !important;
    outline: none !important;
    padding: 0 !important;
}
.carousel-arrow-btn:hover {
    background: #38bdf8 !important;
    color: #090c12 !important;
    border-color: #38bdf8 !important;
    box-shadow: 0 0 10px rgba(56, 189, 248, 0.5) !important;
}

/* カルーセルトラック＆横スクロール */
.preorder-carousel-viewport {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}
.preorder-carousel {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important; /* ★横スクロールはここで完結 */
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    gap: 12px !important;
    padding: 4px 4px 8px 4px !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(245, 158, 11, 0.45) rgba(9, 11, 16, 0.8) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}
.preorder-carousel::-webkit-scrollbar {
    height: 5px !important;
}
.preorder-carousel::-webkit-scrollbar-track {
    background: rgba(9, 11, 16, 0.8) !important;
    border-radius: 3px !important;
}
.preorder-carousel::-webkit-scrollbar-thumb {
    background: rgba(245, 158, 11, 0.45) !important;
    border-radius: 3px !important;
}
.preorder-carousel::-webkit-scrollbar-thumb:hover {
    background: #f59e0b !important;
}

/* カルーセル内カード（幅固定・スクロールスナップ） */
.preorder-carousel .carousel-card {
    flex: 0 0 210px !important;
    width: 210px !important;
    min-width: 210px !important;
    max-width: 210px !important;
    scroll-snap-align: start !important;
    scroll-snap-stop: normal !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
}
@media (max-width: 520px) {
    .preorder-carousel .carousel-card {
        flex: 0 0 190px !important;
        width: 190px !important;
        min-width: 190px !important;
        max-width: 190px !important;
    }
}

/* カードサムネイルの縦長ロスター比率（3:4）維持 */
.preorder-carousel .carousel-card .nikkefig-card-thumb {
    width: 100% !important;
    aspect-ratio: 3 / 4 !important;
    height: auto !important;
    overflow: hidden !important;
    position: relative !important;
}
.preorder-carousel .carousel-card .nikkefig-card-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 20% !important;
}

/* ==========================================================================
   セクション境界タクティカル・ディバイダー（NIKKE実機風ハザードストライプ）
   ========================================================================== */
.nikkefig-tactical-divider {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    margin-top: 24px !important;
    margin-bottom: 36px !important;
    position: relative !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.nikkefig-tactical-divider .divider-line {
    flex-grow: 1 !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, rgba(56, 189, 248, 0.35), transparent) !important;
}
.nikkefig-tactical-divider .divider-label {
    font-family: 'Share Tech Mono', 'Roboto Condensed', monospace !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.14em !important;
    color: #64748b !important;
    background: #090c12 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 5px 14px !important;
    border-radius: 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
    white-space: nowrap !important;
}
.nikkefig-tactical-divider .hazard-stripe {
    color: #f59e0b !important;
    font-weight: 900 !important;
    letter-spacing: 0.05em !important;
}

/* ==========================================================================
   モバイル用スライドインサイドバー・ドロワーの背景ダーク化 ＆ 表示修正
   ========================================================================== */
@media screen and (max-width: 1023px) {

    /* --- ドロワー本体のダークスレート化＆走査線 --- */
    #sidebar,
    .sidebar,
    .sidebar-in,
    .sidebar-drawer,
    #sidebar-menu,
    .drawer-content,
    .slide-in-sidebar {
        background-color: #0b0f17 !important;
        background-image: repeating-linear-gradient(
            0deg,
            rgba(0, 0, 0, 0.25) 0px,
            rgba(0, 0, 0, 0.25) 1px,
            transparent 1px,
            transparent 2px
        ) !important;
        color: #f1f5f9 !important;
    }
    .sidebar .widget,
    .sidebar-drawer .widget {
        background: transparent !important;
        color: #cbd5e1 !important;
    }
    .sidebar a,
    .sidebar-drawer a {
        color: #e2e8f0 !important;
    }

/* ==========================================================================
   モバイル用スライドインサイドバー（ドロワー）表示不具合ピンポイント修正
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. 閉じるボタン（✕）周辺の白浮き解消 ＆ タクティカルカラー統一（1023px以下限定）
   -------------------------------------------------------------------------- */
@media screen and (max-width: 1023px) {

    /* Cocoon標準の閉じるボタンヘッダー枠・ラッパーの白背景を完全透過 */
    .slide-in-sidebar .sidebar-menu-header,
    .slide-in-sidebar .mobile-menu-header,
    .slide-in-sidebar .slide-in-header,
    .slide-in-sidebar .menu-close-button-wrap,
    .slide-in-sidebar .close-button-wrap,
    #sidebar-menu-content .sidebar-menu-header,
    #sidebar-menu-content .menu-close-button-wrap,
    .sidebar-drawer .sidebar-menu-header,
    .sidebar-drawer .menu-close-button-wrap {
        background: transparent !important;
        background-color: transparent !important;
        border: none !important;
        box-shadow: none !important;
    }

    /* 閉じるボタン本体の白背景解除・透明化 */
    .slide-in-sidebar .slide-in-close-button,
    .slide-in-sidebar .menu-close-button,
    .slide-in-sidebar .close-button,
    .slide-in-sidebar .sidebar-menu-close,
    .slide-in-sidebar .sidebar-menu-close-button,
    .slide-in-sidebar .mobile-menu-close,
    #sidebar-menu-content .close-button,
    #sidebar-menu-content .menu-close-button,
    #sidebar-menu .close-button,
    #sidebar-menu .menu-close-button,
    .sidebar-drawer .close-button,
    .sidebar-drawer .menu-close-button {
        background: transparent !important;
        background-color: transparent !important;
        border: none !important;
        box-shadow: none !important;
        outline: none !important;
    }

    /* 閉じるボタン（✕）アイコン・ラベル色をクールグレー（#94a3b8）へ統一 */
    .slide-in-sidebar .slide-in-close-button,
    .slide-in-sidebar .menu-close-button,
    .slide-in-sidebar .close-button,
    .slide-in-sidebar .sidebar-menu-close,
    .slide-in-sidebar .mobile-menu-close,
    .slide-in-sidebar [class*="close-button"] [class*="icon"],
    .slide-in-sidebar [class*="close-button"] [class*="fa"],
    #sidebar-menu-content [class*="close-button"],
    #sidebar-menu [class*="close-button"],
    .sidebar-drawer [class*="close-button"] {
        color: #94a3b8 !important;
        fill: #94a3b8 !important;
    }

    /* タップ／ホバー時はアークブルー（#38bdf8）に発光 */
    .slide-in-sidebar .slide-in-close-button:hover,
    .slide-in-sidebar .menu-close-button:hover,
    .slide-in-sidebar .close-button:hover,
    .slide-in-sidebar .sidebar-menu-close:hover,
    .slide-in-sidebar .mobile-menu-close:hover,
    #sidebar-menu-content [class*="close-button"]:hover,
    #sidebar-menu [class*="close-button"]:hover,
    .sidebar-drawer [class*="close-button"]:hover {
        color: #38bdf8 !important;
        fill: #38bdf8 !important;
    }
}

/* --------------------------------------------------------------------------
   2. 画面最下部の不要な横スクロールバー完全消去（カルーセル挙動保護）
   -------------------------------------------------------------------------- */
/* 画面外に待機するスライドイン枠等の横あふれを物理的に完全遮断 */
html,
body {
    overflow-x: hidden !important;
    max-width: 100% !important;
    width: 100% !important;
}

#container,
.wrap,
#content,
.content-in,
#main,
.main,
#sidebar,
.sidebar,
.sidebar-drawer,
#sidebar-menu,
.slide-in-sidebar {
    overflow-x: hidden !important;
    max-width: 100% !important;
}

/* ★最重要保護：上段予約中カルーセル枠（.preorder-carousel）の横スクロール挙動のみを確実に死守 */
.preorder-carousel {
    overflow-x: auto !important;
}
	
/* ==========================================================================
   モバイル用スライドインサイドバー 閉じるボタン親枠の完全ダーク化
   ========================================================================== */
@media screen and (max-width: 1023px) {
    /* 閉じるボタンを包んでいる親コンテナ自体の白背景を完全にダーク化 */
    #sidebar-menu-content,
    .sidebar-menu-content.menu-content {
        background-color: #0b0f17 !important;
        background: #0b0f17 !important;
    }

    /* 閉じるボタンとアイコン（✕）の色調整 */
    .sidebar-menu-close-button,
    .menu-close-button {
        background: transparent !important;
    }
    .sidebar-menu-close-button .fa,
    .sidebar-menu-close-button .fa-close {
        color: #94a3b8 !important;
    }
    .sidebar-menu-close-button:hover .fa,
    .sidebar-menu-close-button:hover .fa-close {
        color: #38bdf8 !important;
    }
}
}

	
/* ==========================================================================
   新着トピック（UPDATE TOPICS）- 完全版（PC/スマホ両対応）
   ========================================================================== */
.c-update-topics-wrap {
  width: 100% !important;
  margin: 16px 0 24px 0 !important;
  box-sizing: border-box !important;
}

/* メイン外枠（濃紺背景＋シアン左ボーダー） */
.c-update-topics {
  background: #0b1120 !important;
  border: 1px solid #1e293b !important;
  border-left: 3px solid #38bdf8 !important;
  border-radius: 6px !important;
  padding: 12px 18px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
}

/* ヘッダーエリア */
.c-update-topics__header {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 8px !important;
}

.c-update-topics__badge {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  color: #38bdf8 !important;
  background: rgba(56, 189, 248, 0.12) !important;
  border: 1px solid rgba(56, 189, 248, 0.3) !important;
  padding: 2px 8px !important;
  border-radius: 4px !important;
  line-height: 1.4 !important;
}

.c-update-topics__sub {
  font-size: 0.75rem !important;
  color: #64748b !important;
}

.c-update-topics__archive-link {
  margin-left: auto !important;
  font-size: 0.75rem !important;
  color: #94a3b8 !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

.c-update-topics__archive-link:hover {
  color: #38bdf8 !important;
}

/* リスト親（Cocoon標準の黒丸・余白を完全抹殺） */
ul.c-update-topics__list {
  list-style: none !important;
  list-style-type: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 各行アイテム（PC基準：横並び） */
ul.c-update-topics__list li.c-update-topics__item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 8px 0 !important;
  border-bottom: 1px dashed #1e293b !important;
  font-size: 0.88rem !important;
  list-style: none !important;
  list-style-type: none !important;
  margin: 0 !important;
  background: transparent !important;
}

ul.c-update-topics__list li.c-update-topics__item:last-child {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

/* Cocoonの擬似要素（::before の黒丸など）対策 */
ul.c-update-topics__list li.c-update-topics__item::before {
  content: none !important;
  display: none !important;
}

/* 日付 */
.c-update-topics__date {
  color: #94a3b8 !important;
  font-size: 0.8rem !important;
  font-feature-settings: "tnum" !important;
  white-space: nowrap !important;
  font-family: monospace !important;
}

/* リンクテキスト */
.c-update-topics__link {
  color: #f1f5f9 !important;
  text-decoration: none !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  transition: color 0.15s ease !important;
}

.c-update-topics__link:hover {
  color: #38bdf8 !important;
}

.c-update-topics__arrow {
  color: #38bdf8 !important;
  font-size: 0.8rem !important;
  margin-left: 4px !important;
}

/* スマホ対応（600px以下のみ縦並びへ上書き） */
@media screen and (max-width: 600px) {
  ul.c-update-topics__list li.c-update-topics__item {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 3px !important;
  }
}

	

/* ==========================================================================
   ファーストビュー縦幅圧縮 ＆ トピック枠・ヒーローエリア小型化上書き設定
   ========================================================================== */

/* 1. トピック枠（.c-update-topics）のコンパクト圧縮 */
.c-update-topics {
    margin: 10px 0 16px 0 !important; /* 外枠上下マージン圧縮 */
    padding: 10px 16px !important;    /* 外枠パディング縮小 */
}

.c-update-topics__header {
    padding-bottom: 6px !important;
    margin-bottom: 6px !important;
}

.c-update-topics__badge {
    font-size: 0.72rem !important; /* バッジ文字小型化 (約11.5px) */
    padding: 1px 6px !important;
}

.c-update-topics__sub {
    font-size: 0.75rem !important; /* サブタイトル小型化 (約12px) */
}

.c-update-topics__more {
    font-size: 0.72rem !important;
    padding: 2px 8px !important;
}

.c-update-topics__list {
    gap: 2px !important; /* リスト行間を詰める */
}

.c-update-topics__item {
    border-bottom: 1px dashed rgba(255, 255, 255, 0.05) !important;
}

.c-update-topics__link {
    padding: 5px 0 !important; /* 行上下パディングを5pxに圧縮 */
    gap: 10px !important;
}

.c-update-topics__date {
    font-size: 0.75rem !important; /* 日付フォントサイズ 12px相当 */
}

.c-update-topics__tag {
    font-size: 0.68rem !important;
    padding: 0px 5px !important;
}

.c-update-topics__item-title {
    font-size: 0.81rem !important; /* 記事タイトルフォントサイズ 13px相当 */
    line-height: 1.35 !important;
}

/* 2. ヒーローエリア（.nikkefig-hero / 検索バー / SITREP）のスマート圧縮 */
.nikkefig-hero {
    padding: 16px 18px !important;   /* 上下パディングを 22px ➔ 16px に圧縮 */
    margin-bottom: 14px !important;  /* 下部余白の短縮 */
}

.nikkefig-terminal-tag {
    margin-bottom: 6px !important;
    padding: 2px 8px !important;
    font-size: 10px !important;
}

.nikkefig-hero-title {
    font-size: 22px !important;      /* タイトル文字サイズを極小化 */
    margin: 0 0 4px 0 !important;    /* 下マージン縮小 */
    line-height: 1.2 !important;
}

.nikkefig-hero-desc {
    font-size: 12px !important;
    margin: 0 0 10px 0 !important;   /* 説明分下マージン縮小 */
    line-height: 1.4 !important;    /* 行間を詰める */
}

.nikkefig-search-box {
    padding: 2px !important;
}

.nikkefig-search-box button {
    padding: 6px 12px !important;
    font-size: 12px !important;
}

/* SITREP 監視HUDパネルのコンパクト化 */
.nikkefig-sitrep-hud {
    padding: 10px 12px !important;
}

.sitrep-hud-header {
    padding-bottom: 6px !important;
    margin-bottom: 8px !important;
}

.nikkefig-stats-grid {
    gap: 8px !important;
}

.nikkefig-stat-card {
    padding: 8px 10px !important;
}

.nikkefig-stat-num {
    font-size: 22px !important;     /* カウンター数字サイズを微小調整 */
}

/* モバイル表示時（600px以下）のさらなるタイト化 */
@media screen and (max-width: 600px) {
    .c-update-topics {
        padding: 8px 12px !important;
    }
    .c-update-topics__link {
        padding: 4px 0 !important;
    }
    .nikkefig-hero {
        padding: 14px 14px !important;
    }
}


/* ==========================================================================
   【v35】ファーストビュー極限短縮 ＆ トピック枠・ヒーローエリア超微小化CSS
   ファイル名: style.css 最末尾追記用
   説明: ヒーローエリアとトピック枠の縦幅を極限まで削ぎ落とし、
         スクロールなしで下部の予約受付中カルーセルを見渡せる環境を構築します。
   ========================================================================== */

/* 1. ヒーローエリア（.nikkefig-hero）の極限スリム化 */
.nikkefig-hero {
    padding: 12px 14px !important;   /* 上下パディングを22px ➔ 12pxに極限圧縮 */
    margin-bottom: 10px !important;  /* 下部マージンを最小限化 */
}

/* ヒーローロゴ行 */
.nikkefig-hero-brand-row {
    margin-bottom: 6px !important;
}

/* 1行大見出し（h1） */
.nikkefig-hero-title {
    font-size: 20px !important;      /* フォントサイズ 20px〜22px 指定 */
    margin: 0 0 4px 0 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;  /* 1行表示の徹底 */
}

/* サブコピー */
.nikkefig-hero-desc {
    font-size: 11.5px !important;   /* サブコピー小型化 */
    margin: 0 0 8px 0 !important;
    line-height: 1.35 !important;
    color: #94a3b8 !important;
}

/* クイック検索バー */
.nikkefig-search-box {
    padding: 2px 4px !important;    /* 検索バー内パディング縮小 */
}

.nikkefig-search-box input {
    font-size: 12px !important;
}

.nikkefig-search-box button {
    padding: 5px 12px !important;   /* ボタンのパディング縮小 */
    font-size: 12px !important;
}

/* SITREP 監視HUDパネル */
.nikkefig-sitrep-hud {
    padding: 8px 10px !important;    /* HUD枠パディング圧縮 */
}

.sitrep-hud-header {
    padding-bottom: 4px !important;
    margin-bottom: 6px !important;
}

.sitrep-badge .badge-text {
    font-size: 11px !important;
}

.sitrep-sys-status {
    font-size: 9px !important;
    padding: 1px 5px !important;
}

/* 4連統計カウンター（2x2 グリッド） */
.nikkefig-stats-grid {
    gap: 6px !important;
}

.nikkefig-stat-card {
    padding: 6px 8px !important;    /* カード内側余白縮小 */
}

.nikkefig-stat-label {
    font-size: 8.5px !important;
    margin-bottom: 1px !important;
}

.nikkefig-stat-sub {
    font-size: 10px !important;
    margin-bottom: 2px !important;
}

.nikkefig-stat-num {
    font-size: 20px !important;     /* 数字フォントサイズ 20px〜22px 指定 */
    line-height: 1 !important;
}

/* 2. 新着トピック枠（.c-update-topics）の文字サイズ再調整 ＆ スワイプタイト化 */
.c-update-topics {
    margin: 8px 0 12px 0 !important; /* 外枠マージン縮小 */
    padding: 8px 12px !important;    /* 外枠パディング縮小 */
}

.c-update-topics__header {
    padding-bottom: 4px !important;
    margin-bottom: 4px !important;
}

.c-update-topics__badge {
    font-size: 0.7rem !important;    /* バッジ文字 0.7rem (約11.2px) */
    padding: 1px 5px !important;
}

.c-update-topics__sub {
    font-size: 0.72rem !important;  /* サブ見出し 0.72rem */
}

.c-update-topics__more {
    font-size: 0.7rem !important;
    padding: 2px 6px !important;
}

.c-update-topics__list {
    gap: 0px !important;
}

.c-update-topics__link {
    padding: 4px 0 !important;      /* 上下パディング 4px〜5px */
    gap: 8px !important;
}

.c-update-topics__date {
    font-size: 0.72rem !important;  /* 日付 0.72rem (約11.5px) */
}

.c-update-topics__tag {
    font-size: 0.65rem !important;
    padding: 0px 4px !important;
}

.c-update-topics__item-title {
    font-size: 0.78rem !important;  /* タイトル 0.78rem (約12.5px) */
    line-height: 1.3 !important;
}

/* モバイル表示（画面幅600px以下）のさらなるタイト化 */
@media screen and (max-width: 600px) {
    .nikkefig-hero {
        padding: 10px 12px !important;
    }
    .nikkefig-hero-title {
        font-size: 18px !important;
        white-space: normal !important;
    }
    .c-update-topics {
        padding: 6px 10px !important;
    }
    .c-update-topics__link {
        padding: 3px 0 !important;
    }
}


/* ==========================================================================
   【v36】ファーストビュー微調整 ＆ SITREP HUD・ヒーロー表示最適化CSS
   ファイル名: style.css 最末尾追記用
   説明: 大見出し後半のサイバーグラデーションアクセントを完全復活し、
         キャッチコピーの視認性向上、およびSITREP HUDの数値を14px〜15pxへ小型化して
         HUDパネル全体をミリタリー計器風に引き締めます。
   ========================================================================== */

/* 1. ヒーローエリア大見出し（h1）＆ グラデーションアクセント復活 */
.nikkefig-hero-title {
    font-size: 20px !important;
    margin: 0 0 4px 0 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
}

/* <span>全部ここで追える。</span> へのサイバーグラデーション適用 */
.nikkefig-hero-title span {
    color: #38bdf8 !important;
    background: linear-gradient(90deg, #38bdf8 0%, #818cf8 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    display: inline-block !important;
}

/* 2. キャッチコピーの改行＆行間調整（line-height: 1.45） */
.nikkefig-hero-desc {
    font-size: 11.5px !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.45 !important;
    color: #94a3b8 !important;
}

/* 3. SITREP 監視HUDパネル ＆ 数字フォントサイズ小型化 (14px〜15px) */
.nikkefig-sitrep-hud {
    padding: 8px 10px !important;
}

.sitrep-hud-header {
    padding-bottom: 4px !important;
    margin-bottom: 6px !important;
}

.nikkefig-stats-grid {
    gap: 6px !important;
}

.nikkefig-stat-card {
    padding: 6px 8px !important;
}

.nikkefig-stat-label {
    font-size: 8.5px !important;
    margin-bottom: 1px !important;
    letter-spacing: 0.06em !important;
}

.nikkefig-stat-sub {
    font-size: 10px !important;
    margin-bottom: 2px !important;
}

/* 数値を主役から計器風モニター要素（14px〜15px）へシャープ化 */
.nikkefig-stat-num {
    font-size: 14px !important;     /* 20px ➔ 14px〜15px へ小型化 */
    line-height: 1.1 !important;
    font-family: 'Share Tech Mono', monospace, sans-serif !important;
    font-weight: 900 !important;
    letter-spacing: 0.02em !important;
}

/* 4. 新着トピック枠（.c-update-topics）の文字サイズ・行間シャープ化 */
.c-update-topics {
    margin: 8px 0 12px 0 !important;
    padding: 8px 12px !important;
}

.c-update-topics__header {
    padding-bottom: 4px !important;
    margin-bottom: 4px !important;
}

.c-update-topics__badge {
    font-size: 0.7rem !important;    /* 約11.2px */
    padding: 1px 5px !important;
}

.c-update-topics__sub {
    font-size: 0.72rem !important;
}

.c-update-topics__more {
    font-size: 0.7rem !important;
    padding: 2px 6px !important;
}

.c-update-topics__link {
    padding: 4px 0 !important;
    gap: 8px !important;
}

.c-update-topics__date {
    font-size: 0.72rem !important;  /* 約11.5px */
}

.c-update-topics__tag {
    font-size: 0.65rem !important;
    padding: 0px 4px !important;
}

.c-update-topics__item-title {
    font-size: 0.78rem !important;  /* 約12.5px */
    line-height: 1.3 !important;
}

/* スマホレスポンシブ最適化 (600px以下) */
@media screen and (max-width: 600px) {
    .nikkefig-hero-title {
        font-size: 17px !important;
        white-space: normal !important;
    }
    .nikkefig-stat-num {
        font-size: 14px !important;
    }
}


/* ===================================================
   サイト共通ヘッダー（ニケフィグ！タイトル部）のスリム化
   =================================================== */
#header,
.header {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    min-height: auto !important;
}

#header-in,
.header-in {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: auto !important;
}

/* サイトタイトルロゴ・テキストの余白最小化 */
.logo,
.logo-header,
.site-name-text {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}

.logo-header a,
.site-name-text a {
    display: inline-block !important;
    padding: 2px 0 !important;
    font-size: 18px !important;
    letter-spacing: 0.05em !important;
}

/* キャッチフレーズ（タグライン）が表示されている場合の圧縮 */
.site-description,
.tagline {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
}

/* モバイル表示時のさらなる極小化 */
@media screen and (max-width: 600px) {
    #header,
    .header {
        padding-top: 4px !important;
        padding-bottom: 4px !important;
    }
    
    .logo-header a,
    .site-name-text a {
        font-size: 16px !important;
    }
}

/* === アバター複数フォーム・クロスフェード（完全位置同期＆ずれ防止） === */
.nikkefig-char-avatar-box.has-multi-avatars {
    position: relative !important;
    overflow: hidden !important;
}

/* 1枚目・2枚目以降すべてのレイヤーを完全に同じ位置・同じ切り抜きで重ねる */
.nikkefig-char-avatar-box.has-multi-avatars .img-layer {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 15% !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    will-change: opacity;
}

.nikkefig-char-avatar-box.has-multi-avatars .img-layer-1 {
    position: relative !important; /* 枠の高さ維持のため1枚目のみrelative */
    z-index: 1 !important;
}

.nikkefig-char-avatar-box.forms-2 .img-layer-2 {
    z-index: 2 !important;
    opacity: 0;
    animation: nikkeCrossfade2_img2 6s infinite ease-in-out !important;
}

/* 「2-FORMS」切り替えバッジの枠内収まり調整（スマホ対応） */
.nikkefig-char-avatar-box .nikkefig-avatar-switch-badge {
    position: absolute !important;
    top: 6px !important;
    right: 6px !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    font-family: monospace, sans-serif !important;
    background: rgba(15, 23, 42, 0.9) !important;
    color: #38bdf8 !important;
    border: 1px solid rgba(56, 189, 248, 0.5) !important;
    box-shadow: 0 0 8px rgba(56, 189, 248, 0.35) !important;
    border-radius: 4px !important;
    padding: 1px 5px !important;
    z-index: 5 !important;
    letter-spacing: 0.03em !important;
    pointer-events: none !important;
    backdrop-filter: blur(4px) !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
}

/* ===================================================
   フッターエリア：背景色完全同化（#0b0e14）
   =================================================== */
/* Cocoonの外枠footerタグにメインと同じカラーを強制適用 */
footer,
#footer,
.footer,
.footer-bottom,
.credit {
    background-color: #0b0e14 !important; /* コンテンツエリアと完全一致 */
    background-image: none !important;
    border: none !important;
    box-shadow: none !important;
}

#footer,
.footer {
    padding: 0 !important;
    margin-top: 0 !important; /* コンテンツとの隙間をゼロにして直結 */
}

/* クレジットバー（1行配置・余白極小） */
.footer-bottom,
.credit {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px 12px !important;
    font-size: 11px !important;
    padding: 10px 16px 16px 16px !important;
    text-align: center !important;
    min-height: 0 !important;
}

/* タイトル表記 */
.nikkefig-footer-brand {
    color: #64748b !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
}

/* プライバシー・免責事項リンク */
.nikkefig-footer-link {
    color: #38bdf8 !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
}
.nikkefig-footer-link:hover {
    color: #7dd3fc !important;
    text-decoration: underline !important;
}

/* 区切りパイプ「｜」 */
.nikkefig-footer-sep {
    color: #1e293b !important;
    font-size: 10px !important;
    user-select: none !important;
}

/* コピーライト表記 */
.nikkefig-footer-copy {
    color: #475569 !important;
    font-family: 'Share Tech Mono', monospace, sans-serif !important;
    font-size: 10.5px !important;
}

@media screen and (max-width: 600px) {
    .footer-bottom,
    .credit {
        gap: 4px 8px !important;
        font-size: 10px !important;
        padding: 8px 12px 14px 12px !important;
    }
}