/* === IZNM Footer Bar === */
.iznm-footer-bar {
  background: var(--iznm-black);
  border-top: 1px solid var(--iznm-border-dark);
  padding: 16px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 100%;
}
.iznm-footer-bar .iznm-footer-links {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  border-top: none;
  padding: 0;
  margin: 0;
  text-align: left;
  justify-content: flex-start;
}
.iznm-footer-bar .iznm-footer-links a {
  color: var(--iznm-text-muted);
  text-decoration: none;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: color var(--iznm-transition-normal);
  display: inline;
  margin: 0;
}
.iznm-footer-bar .iznm-footer-links a:hover { color: var(--iznm-text-sub); }
.iznm-footer-bar .iznm-footer-copyright {
  color: var(--iznm-text-muted);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  border-top: none;
  padding: 0;
  margin: 0;
  text-align: right;
}

/* GPカスタマイザーのCopyright出力を非表示 */

@media (max-width: 768px) {
  .iznm-footer-bar {
    flex-direction: column;
    gap: 12px;
    text-align: center;
  }
  .iznm-footer-bar .iznm-footer-links { justify-content: center; }
  .iznm-footer-bar .iznm-footer-copyright { text-align: center; }
}

/* === No.10 Standard月額 非アクティブ化 (5/1公開予定) === */
.lp-btn--secondary[href*="standard-monthly"] {
  pointer-events: none;
  opacity: 0.5;
  cursor: default;
}
.lp-btn--secondary[href*="standard-monthly"]:hover {
  opacity: 0.5;
  transform: none;
}
.lp-monthly-coming {
  display: block;
  font-size: 11px;
  color: #888888;
  letter-spacing: 0.05em;
  margin-top: 2px;
  text-align: center;
}


/* === No.24 フッター全幅背景色修正 === */
.iznm-footer-bar {
    background: var(--iznm-black) !important;
}

/* === No.24追加 founder-lp (page-blank) レイアウト修正 === */

/* page-blank テンプレートの body/site-content を全幅対応 */

/* FV・Final CTA 全幅 */
.page-id-54 .lp-fv,
.page-id-54 .lp-sec.lp-final-cta {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    box-sizing: border-box;
}

/* コンテンツ幅制限を解除 */

/* フッター（iznm-footer-copyright）全幅 */
.iznm-footer-copyright {
    width: 100%;
    background: #000 !important;
    padding: 16px 24px;
    text-align: center;
    font-size: 11px;
    color: #666;
    letter-spacing: 0.08em;
    box-sizing: border-box;
}
.iznm-footer-copyright a {
    color: #666;
    text-decoration: none;
}

/* === 修正1: サイドバー非表示 === */
.widget-area,
#right-sidebar,
#left-sidebar {
    display: none !important;
}

/* === 修正2: /connections/ CONNECTリスト === */
/* .iznm-connections h2 ブロックは .iznm-section-caption に統合済（5C-T1-1）*/
.iznm-connection-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.iznm-connection-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 0;
    border-bottom: 1px solid var(--iznm-border-dark);
    gap: 12px;
}
.iznm-connection-item a {
    color: var(--iznm-text-main);
    text-decoration: none;
    font-size: var(--iznm-text-xs);
    letter-spacing: 0.08em;
}
.iznm-connection-item a:hover { color: var(--iznm-text-main); }
.iznm-etch-date {
    font-size: 10px;
    color: var(--iznm-text-muted);
    letter-spacing: 0.1em;
    white-space: nowrap;
}

/* === 修正3: /edit-id-page/ フォームデザイン === */
.iznm-edit-form {
}
.iznm-edit-form input[type="text"],
.iznm-edit-form input[type="url"],
.iznm-edit-form input[type="tel"],
.iznm-edit-form textarea {
    width: 100%;
    background: var(--iznm-bg-raised);
    border: 1px solid var(--iznm-border-dark);
    border-radius: 4px;
    color: var(--iznm-text-main);
    padding: 12px 14px;
    font-size: var(--iznm-text-xs);
    font-family: var(--iznm-font-ja);
    box-sizing: border-box;
    margin-bottom: 12px;
    transition: border-color 0.2s;
}
.iznm-edit-form input:focus,
.iznm-edit-form textarea:focus {
    outline: none;
    border-color: var(--iznm-form-input-focus-border);
}
.iznm-edit-form label {
    display: block;
    font-size: var(--iznm-text-xs);
    color: var(--iznm-text-muted);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 6px;
}
.iznm-edit-form textarea {
    resize: vertical;
    min-height: 80px;
}
/* === 派生 admin 制御化 Phase 1: TARGET 編集ページ form-field CSS === */
.iznm-edit-form .iznm-form-field { margin-bottom: 16px; }
.iznm-edit-form .iznm-form-field label { display: block; margin-bottom: 6px; }
.iznm-edit-form .iznm-form-field select,
.iznm-edit-form .iznm-form-field input[type="text"],
.iznm-edit-form .iznm-form-field input[type="url"],
.iznm-edit-form .iznm-form-field input[type="number"],
.iznm-edit-form .iznm-form-field input[type="datetime-local"],
.iznm-edit-form .iznm-form-field textarea {
    width: 100%;
    background: var(--iznm-bg-raised);
    border: 1px solid var(--iznm-border-dark);
    border-radius: 4px;
    color: var(--iznm-text-main);
    padding: 10px 14px;
    font-size: var(--iznm-text-xs);
    font-family: var(--iznm-font-ja);
    box-sizing: border-box;
    transition: border-color 0.2s;
}
.iznm-edit-form .iznm-form-field input:focus,
.iznm-edit-form .iznm-form-field textarea:focus {
    outline: none;
    border-color: var(--iznm-form-input-focus-border);
}
.iznm-edit-form .iznm-form-field textarea {
    resize: vertical;
    min-height: 100px;
}
/* === fix-001: 画像ピックボタン margin CSS 化（軽微-A・2026-05-23）=== */
.iznm-edit-form .iznm-btn--image-pick { margin-bottom: 8px; }
/* === fix-001 軽微-A 終了 === */

/* === fix-001: 案内文ブロック CSS 化（軽微-E・2026-05-23）=== */
.iznm-edit-form .iznm-form-help--admin-only {
    margin-top: 24px;
    padding: 12px 16px;
    background: var(--iznm-bg-raised);
    border: 1px solid var(--iznm-border-dark);
    border-radius: 4px;
}
/* === fix-001 軽微-E 終了 === */

/* === fix-001: DANGER ZONE 削除ボタン CSS 化（軽微-G・2026-05-23）=== */
.iznm-edit-form .iznm-target-danger-zone {
    margin-top: var(--iznm-space-8);
    padding-top: var(--iznm-space-4);
    border-top: 1px solid var(--iznm-border-dark);
}
.iznm-edit-form .iznm-btn--danger {
    background: #c00;
    color: #fff;
}
/* === fix-001 軽微-G 終了 === */

/* === 派生 admin 制御化 Phase 1: TARGET 編集ページタブ === */
.iznm-target-edit-tabs input[type="radio"] { display: none; }
.iznm-target-edit-tabs__nav {
    display: flex;
    border-bottom: 1px solid var(--iznm-border-dark);
    margin-bottom: 24px;
}
.iznm-target-edit-tabs__label {
    padding: 12px 24px;
    cursor: pointer;
    font-size: var(--iznm-text-xs);
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--iznm-text-muted);
    border-bottom: 2px solid transparent;
    transition: color 0.2s, border-color 0.2s;
}
.iznm-target-edit-tabs__label:hover { color: var(--iznm-text-sub); }
.iznm-target-edit-tabs__panel { display: none; }

#iznm-edit-tab-basic:checked ~ .iznm-target-edit-tabs__nav label[for="iznm-edit-tab-basic"],
#iznm-edit-tab-posts:checked ~ .iznm-target-edit-tabs__nav label[for="iznm-edit-tab-posts"] {
    color: var(--iznm-text-main);
    border-bottom-color: var(--iznm-text-main);
}

#iznm-edit-tab-basic:checked ~ .iznm-target-edit-tabs__panel--basic,
#iznm-edit-tab-posts:checked ~ .iznm-target-edit-tabs__panel--posts {
    display: block;
}
/* === Phase 1.5-C: TARGET 編集ページタブ 3 タブ化 拡張 === */
#iznm-edit-tab-dashboard:checked ~ .iznm-target-edit-tabs__nav label[for="iznm-edit-tab-dashboard"] {
    color: var(--iznm-text-main);
    border-bottom-color: var(--iznm-text-main);
}
#iznm-edit-tab-dashboard:checked ~ .iznm-target-edit-tabs__panel--dashboard {
    display: block;
}

/* Phase 1.5-C: タイトル + 公開ページリンク */
.iznm-manage-edit__header { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 24px; }
.iznm-manage-edit__title { font-size: var(--iznm-text-base); letter-spacing: 0.05em; color: var(--iznm-text-main); margin: 0; }
.iznm-manage-edit__public-link { /* font-size: Moved to iznm-components.css */ color: var(--iznm-text-muted); text-decoration: none; letter-spacing: 0.1em; }
.iznm-manage-edit__public-link:hover { color: var(--iznm-text-sub); }

/* Phase 1.5-C: ダッシュボードタブ 集計表示 */
.iznm-target-stats { margin-bottom: 32px; }
.iznm-target-stats__title { /* font-size: Moved to iznm-components.css */ letter-spacing: 0.2em; text-transform: uppercase; color: var(--iznm-text-muted); margin: 0 0 16px; padding-bottom: 8px; border-bottom: 1px solid var(--iznm-border-dark); }
.iznm-target-stats__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 16px; }
.iznm-target-stats__item { padding: var(--iznm-space-4); background: var(--iznm-bg-raised); border: 1px solid var(--iznm-border-dark); border-radius: var(--iznm-radius-md); text-align: center; }
.iznm-target-stats__label { /* font-size: Moved to iznm-components.css */ color: var(--iznm-text-muted); letter-spacing: var(--iznm-tracking-wider); margin-bottom: var(--iznm-space-2); }
.iznm-target-stats__value { font-size: 24px; color: var(--iznm-text-main); font-weight: var(--iznm-font-bold); }  /* 24px: 例外・トークン外サイズ */
.iznm-target-stats__note { margin-top: var(--iznm-space-3); font-size: 11px; color: var(--iznm-text-muted); line-height: 1.5; }  /* 11px: 例外・トークン外サイズ */

/* Phase 1.5-C: ダッシュボードタブ ユーザーリスト */
.iznm-target-users__title { /* font-size: Moved to iznm-components.css */ letter-spacing: 0.2em; text-transform: uppercase; color: var(--iznm-text-muted); margin: 0 0 16px; padding-bottom: 8px; border-bottom: 1px solid var(--iznm-border-dark); }
.iznm-target-users__sort { margin-bottom: 16px; display: flex; align-items: center; gap: 8px; }
.iznm-target-users__sort select { background: var(--iznm-bg-raised); border: 1px solid var(--iznm-border-dark); color: var(--iznm-text-main); padding: 6px 10px; /* font-size: Moved to iznm-components.css */ }
.iznm-target-users__empty { color: var(--iznm-text-muted); font-size: 13px; text-align: center; padding: 32px 0; }
.iznm-target-users__list { list-style: none; margin: 0; padding: 0; }
.iznm-target-users__item { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--iznm-border-dark); }
.iznm-target-users__avatar img { border-radius: 50%; width: 40px; height: 40px; }
.iznm-target-users__body { flex: 1; }
.iznm-target-users__name { font-size: var(--iznm-text-xs); color: var(--iznm-text-main); margin-bottom: 2px; }
.iznm-target-users__meta { /* font-size: Moved to iznm-components.css */ color: var(--iznm-text-muted); }
.iznm-target-users__pagination { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 24px; }

/* Phase 1.5-C fix-002: ユーザーリスト 表示名リンク */
.iznm-target-users__name-link {
    color: var(--iznm-text-main);
    text-decoration: none;
    transition: color 0.15s;
}
.iznm-target-users__name-link:hover {
    color: var(--iznm-text-sub);
    text-decoration: underline;
}
/* === Phase 1.5-C 終了 === */

/* Phase 1.5-D: 地図プレビュー */
.iznm-target-form__map-preview { margin-top: 16px; }
.iznm-target-form__map-preview iframe { background: var(--iznm-bg-deep); }
.iznm-target-form__map-warning { margin-top: 12px; padding: 10px 14px; background: var(--iznm-bg-raised); border: 1px solid var(--iznm-border-dark); border-radius: 4px; }
.iznm-target-public__map { margin: 24px 0; }
.iznm-target-public__map iframe { background: var(--iznm-bg-deep); }

/* Phase 1.5-D fix-002: 場所入力ハイブリッド方式（タブ風セグメントコントロール） */
.iznm-target-form__location-mode-switch {
    display: flex;
    gap: 0;
    margin-bottom: 16px;
    border: 1px solid var(--iznm-border-dark);
    border-radius: 4px;
    overflow: hidden;
}
.iznm-target-form__location-mode-switch label {
    flex: 1;
    cursor: pointer;
    padding: 10px 16px;
    font-size: 13px;
    text-align: center;
    color: var(--iznm-text-main);
    background: var(--iznm-bg-raised);
    transition: background 0.15s, color 0.15s, opacity 0.15s;
    user-select: none;
    position: relative;
}
.iznm-target-form__location-mode-switch label:first-child {
    border-right: 1px solid var(--iznm-border-dark);
}
.iznm-target-form__location-mode-switch label:hover {
    opacity: 0.85;
}
.iznm-target-form__location-mode-switch input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 0;
    height: 0;
}
.iznm-target-form__location-mode-switch label.is-active {
    background: var(--iznm-text-main);
    color: var(--iznm-black);
    opacity: 1;
}
.iznm-target-form__location-address,
.iznm-target-form__location-url {
    margin-top: 8px;
}

/* 公開ページ住所表示（fix-001 から維持） */
.iznm-target-public__address {
    margin: 16px 0 8px 0;
    font-size: var(--iznm-text-sm);
    color: var(--iznm-text-main);
}
.iznm-target-public__address p {
    margin: 0;
}

/* Phase 1.5-D fix-002: Google マップで開くリンク */
.iznm-target-map-link {
    display: inline-block;
    margin-top: 8px;
    font-size: var(--iznm-text-xs);
    color: var(--iznm-text-sub, #888);
    text-decoration: none;
    transition: color 0.15s;
}
.iznm-target-map-link:hover {
    color: var(--iznm-text-main);
    text-decoration: underline;
}
/* === Phase 1.5-D 終了 === */

/* ============================================================
 * Phase 1.5-E: SPOT/EVENT/BRAND 統合ダッシュボード
 * ============================================================ */
.iznm-targets-dashboard__title { font-size: var(--iznm-text-base); font-weight: var(--iznm-font-bold); letter-spacing: var(--iznm-tracking-wide); color: var(--iznm-text-main); margin: 0 0 var(--iznm-space-6); }
.iznm-targets-dashboard__empty { text-align: center; color: var(--iznm-text-muted); padding: var(--iznm-space-12) var(--iznm-space-4); }
.iznm-targets-dashboard__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; }
.iznm-targets-dashboard__card { overflow: hidden; }
.iznm-targets-dashboard__card-link { display: flex; align-items: center; gap: var(--iznm-space-3); text-decoration: none; color: inherit; }
.iznm-targets-dashboard__card-image { width: var(--iznm-space-16); height: var(--iznm-space-16); border-radius: var(--iznm-radius-md); object-fit: cover; flex-shrink: 0; }
.iznm-targets-dashboard__card-image--placeholder { background: var(--iznm-border-dark); }
.iznm-targets-dashboard__card-body { display: flex; flex-direction: column; gap: var(--iznm-space-1); min-width: 0; }
.iznm-targets-dashboard__card-label { /* font-size: Moved to iznm-components.css */ font-weight: var(--iznm-font-bold); padding: var(--iznm-badge-padding-y) var(--iznm-badge-padding-x); border-radius: var(--iznm-radius-md); align-self: flex-start; color: #fff; letter-spacing: 0.08em; }
.iznm-targets-dashboard__card-label--spot { background: var(--iznm-color-label-spot); }
.iznm-targets-dashboard__card-label--event { background: var(--iznm-color-label-event); }
.iznm-targets-dashboard__card-label--brand { background: var(--iznm-color-label-brand); }
.iznm-targets-dashboard__card-name { font-size: var(--iznm-text-sm); font-weight: var(--iznm-font-medium); color: var(--iznm-text-main); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }  /* 14px: 例外・トークン外サイズ */

/* /my-spots/ Leader ボタン統合（Phase 1.5-E） */
.iznm-my-spots__leader-button { display: inline-block; padding: var(--iznm-space-3) var(--iznm-space-8); background: var(--iznm-text-main); color: var(--iznm-black); text-decoration: none; border-radius: var(--iznm-radius-lg); font-weight: var(--iznm-font-bold); font-size: 14px; letter-spacing: var(--iznm-tracking-wide); transition: opacity 0.15s; }  /* 14px: 例外・トークン外サイズ */
.iznm-my-spots__leader-button:hover { opacity: 0.85; }
/* === Phase 1.5-E 終了 === */
/* === 派生 admin 制御化 Phase 1 終了 === */

.iznm-form-actions {
    margin-top: var(--iznm-space-8);
    display: flex;
    gap: var(--iznm-space-4);
    align-items: center;
    flex-wrap: wrap;
}
/* Moved to iznm-components.css */
.iznm-view-button {
    /* font-size: Moved to iznm-components.css */
    color: var(--iznm-text-muted);
    text-decoration: none;
    letter-spacing: var(--iznm-tracking-wider);
}
.iznm-view-button:hover { color: var(--iznm-text-sub); }

/* [削除B: 旧修正G削除済み] */
.iznm-notice-text {
    /* font-size: Moved to iznm-components.css */
    color: var(--iznm-text-muted);
    letter-spacing: var(--iznm-tracking-wide);
    line-height: var(--iznm-leading-normal);
    margin-bottom: var(--iznm-space-4);
    padding: 10px 14px;  /* 例外: space grid 外 */
    border: 1px solid var(--iznm-border-dark);
    border-radius: var(--iznm-radius-md);
}
.iznm-etch-starter-wrap {
    text-align: center;
    padding: var(--iznm-space-3) 0;
}
.iznm-etch-disabled-msg {
    /* font-size: Moved to iznm-components.css */
    color: var(--iznm-text-muted);
    letter-spacing: var(--iznm-tracking-wide);
    margin-bottom: var(--iznm-space-2);
}
.iznm-connections-upsell {
    text-align: center;
    padding: var(--iznm-space-6) 0;
    border-bottom: 1px solid var(--iznm-border-dark);
    margin-bottom: var(--iznm-space-6);
}
.iznm-connections-upsell p {
    /* font-size: Moved to iznm-components.css */
    color: var(--iznm-text-muted);
    letter-spacing: var(--iznm-tracking-wide);
    margin-bottom: var(--iznm-space-2);
}

/* === 修正4: 全ページ共通 上部パディング縮小 === */
.iznm-id-page,
.iznm-edit-form,

/* [C: 旧修正5 削除済み] */

/* [E: 旧修正6 削除済み] */

/* [G: 旧上部マージン 削除済み] */

/* [D: 旧再修正フッター 削除済み] */

/* [削除A: 旧GP対策削除済み] */


/* [F1: 旧GP content-area 削除済み] */

/* [F2: 旧GP content-area統合版 削除済み] */

/* ============================================
   iznm-custom テーマ レイアウト
   ============================================ */
.iznm-site {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--iznm-bg-deep);
    color: var(--iznm-text-main);
}
.iznm-wrap {
    flex: 1 0 auto;
    width: 100%;
    max-width: var(--iznm-width-wrap);
    margin: 0 auto;
    padding: calc(var(--iznm-header-height) + env(safe-area-inset-top, 0) + var(--iznm-space-4)) var(--iznm-space-6) var(--iznm-space-10); /* Phase 4.0-2 padding-top 統合 / Y-1: header-height + space-4 正規化 */
    box-sizing: border-box;
}
.iznm-main { width: 100%; }
.iznm-footer-copyright {
    flex-shrink: 0;
    width: 100%;
    max-width: 500px;    /* Phase 4.0-3 追加 */
    margin: 0 auto;      /* Phase 4.0-3 追加 */
    background: var(--iznm-bg-deep);
    border-top: 1px solid var(--iznm-border-dark);
    padding: var(--iznm-space-4) var(--iznm-space-6);
    text-align: center;
    font-size: 11px;  /* 例外: トークン外サイズ */
    color: var(--iznm-text-muted);
    letter-spacing: 0.08em;  /* 例外: トークン外 */
    box-sizing: border-box;
}
.iznm-footer-copyright a {
    color: var(--iznm-text-muted);
    text-decoration: none;
}
.page-blank .iznm-site,
.page-blank .iznm-wrap {
    max-width: 100%;
    padding: 0;
    margin: 0;
}


/* === GP Premium フッター重複非表示（divで出力される方を非表示） === */
div.iznm-footer-copyright {
    display: none !important;
}

/* === my-account プランヘッダー直接表記 === */
.iznm-plan-header {
    padding: var(--iznm-space-6) 0 var(--iznm-space-4);
    border-bottom: 1px solid var(--iznm-border-dark);
    margin-bottom: var(--iznm-space-6);
}
.iznm-plan-header-label {
    /* font-size: Moved to iznm-components.css */
    color: var(--iznm-text-muted);
    letter-spacing: var(--iznm-tracking-caption);
    text-transform: uppercase;
    margin-bottom: var(--iznm-space-2);
}
.iznm-plan-header-name {
    font-size: var(--iznm-text-lg);
    color: var(--iznm-text-main);
    letter-spacing: var(--iznm-tracking-wider);
    font-family: var(--iznm-font-ja);
    margin: 0;
}

/* === デザインシステム v3.0 サイズ・カラー統一 === */

/* 3-2: ラベル・ナビ 14px統一 */
.iznm-edit-form label { font-size: var(--iznm-text-sm) !important; }
/* Moved to iznm-components.css */

/* 3-3: キャプション・タイムスタンプ 12px統一 */
.iznm-footer-copyright { font-size: var(--iznm-text-xs) !important; }
.iznm-etch-date { font-size: var(--iznm-text-xs) !important; }

/* 3-5: 緊急情報カラー green-deep */

/* 3-5: フォームfocus blue */
.iznm-edit-form input:focus,
.iznm-edit-form textarea:focus { border-color: var(--iznm-blue) !important; }

/* 3-6: CONNECTアクティブボタン red */

/* 3-7: 公開中ステータス — color強制（WCのCSSに負けないよう詳細度を上げる） */

/* ============================================
/* === アバター画像アップロードUI === */
.iznm-avatar-preview{width:72px;height:72px;border-radius:50%;overflow:hidden;border:1.5px solid var(--iznm-border-dark);background:var(--iznm-bg-deep);margin:0 auto 12px;display:flex;align-items:center;justify-content:center}
.iznm-avatar-preview-img{width:100%;height:100%;object-fit:cover;display:block}
.iznm-avatar-preview--default{padding:0;}
.iznm-avatar-preview-default-img{width:100%;height:100%;object-fit:contain;opacity:.5}
.iznm-avatar-file-input{display:none}
.iznm-avatar-upload-btn{display:inline-block;padding:8px 20px;background:var(--iznm-btn-bg);border:var(--iznm-btn-border);border-radius:var(--iznm-btn-radius);color:var(--iznm-btn-text);font-size:var(--iznm-text-sm);letter-spacing:.08em;cursor:pointer;transition:background var(--iznm-transition-normal);font-family:var(--iznm-font-ja);text-decoration:none}
.iznm-avatar-upload-btn:hover{background:var(--iznm-btn-bg-hover)}
.iznm-avatar-delete-btn{display:inline-block;padding:6px 14px;background:transparent;border:1px solid var(--iznm-border-dark);border-radius:var(--iznm-radius-md);color:var(--iznm-text-muted);font-size:var(--iznm-text-xs);letter-spacing:.08em;cursor:pointer;margin-left:8px;font-family:var(--iznm-font-ja)}
.iznm-avatar-delete-btn:hover{border-color:var(--iznm-red);color:var(--iznm-red)}
.iznm-avatar-hint{font-size:var(--iznm-text-xs);color:var(--iznm-text-muted);margin-top:6px;letter-spacing:.05em;text-align:center}

/* ============================================================
   IZNM ID Page Design v1.0
   ============================================================ */

.iznm-id-page {
    
    display: flex;
    flex-direction: column;
    width: 100%;
    box-sizing: border-box;
}
.iznm-id-card {
    text-align: center;
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    margin-bottom: 0;
}
.iznm-card-avatar {
    width: 72px; height: 72px;
    border-radius: var(--iznm-radius-circle); object-fit: cover;
    display: block; margin: 0 auto 14px;  /* 14px: 例外・space grid 外 */
    border: 1.5px solid var(--iznm-bg-raised); background: var(--iznm-bg-deep);
}
.iznm-card-logo-direct {
    width: 72px; height: 72px;
    border-radius: var(--iznm-radius-circle); background: var(--iznm-bg-deep);
    border: 1.5px solid var(--iznm-bg-raised);
    display: block; margin: 0 auto 14px;  /* 14px: 例外・space grid 外 */
    object-fit: cover;
}
.iznm-card-content {
    background: transparent; border: none;
    box-shadow: none; padding: 0; text-align: center;
}
.iznm-card-meta {
    display: flex; flex-direction: column;
    align-items: center; gap: 6px; margin-bottom: var(--iznm-space-4);  /* 6px: 例外・space grid 外 */
}
.iznm-card-id-tag {
    /* font-size: Moved to iznm-components.css */ color: var(--iznm-text-muted);
    letter-spacing: var(--iznm-tracking-tag); text-transform: uppercase; display: block;
}
.iznm-founder-emblem {
    display: inline-flex; align-items: center; gap: var(--iznm-space-1);
    font-size: 10px; color: var(--iznm-gold);  /* 10px: 例外・トークン外サイズ */
    letter-spacing: var(--iznm-badge-letter-spacing); text-transform: uppercase;
    text-decoration: none;
    border: 1px solid var(--iznm-gold);
    padding: 3px 10px; border-radius: var(--iznm-radius-sm);  /* 3px/10px: 例外・space grid 外 */
    background: transparent; box-shadow: none;
    transition: opacity var(--iznm-transition-normal);
}
.iznm-founder-emblem:hover { opacity: 0.8; color: var(--iznm-gold); }
.iznm-founder-slash-img {
    width: 8px; height: 13px;
    display: inline-block; margin: 0; padding: 0;
    background: none; border: none; border-radius: 0;
    vertical-align: middle; object-fit: contain;
}
.iznm-card-name {
    font-size: var(--iznm-text-lg); font-weight: var(--iznm-font-bold);
    color: var(--iznm-text-main); letter-spacing: 0.04em;  /* 例外: トークン外 */
    margin: 0 0 var(--iznm-space-1); text-align: center; line-height: 1.3;  /* 例外: line-height トークン外 */
}
.iznm-card-handle {
    font-size: var(--iznm-text-sm); color: var(--iznm-text-muted);
    letter-spacing: 0.04em; text-align: center; margin-bottom: 0;
}
.iznm-card-bio {
    font-size: var(--iznm-text-sm); color: var(--iznm-text-muted);
    text-align: center; line-height: 1.7; margin-top: 10px;
}

/* SNSグリッド */
.iznm-sns-row {
    display: grid; grid-template-columns: repeat(4, 1fr);
    gap: 6px; margin-top: 22px;
}
/* === Phase 4.2-1: SNS アイコン SVG 化（PNG 背景画像方式から移行）=== */
.iznm-sns-tag {
    display: flex; align-items: center; justify-content: center;
    aspect-ratio: 1; min-height: var(--iznm-header-height);
    background: var(--iznm-bg-deep); border: 1px solid #232323;  /* #232323: 例外・トークン外 */
    border-radius: 10px; padding: 0; text-decoration: none;  /* 10px: 例外・トークン外 radius */
    color: var(--iznm-text-main);
    transition: border-color var(--iznm-transition-fast), color var(--iznm-transition-fast);
    box-sizing: border-box;
}
.iznm-sns-tag:hover { border-color: var(--iznm-blue); color: var(--iznm-blue); }
.iznm-sns-tag svg { width: 26px; height: 26px; display: block; }
/* === Phase 4.2-1: SNS アイコン SVG 化 終了 === */

/* CONNECTボタン */
/* 011: route 1（target detail）の CONNECT CTA 下部余白を route 2 と揃える */
.iznm-etch-form { margin-top: 28px; padding-bottom: var(--iznm-space-20); }  /* 28px: 例外・space grid 外 */
/* Moved to iznm-components.css */
.iznm-etch-sub-text {
    text-align: center; font-size: var(--iznm-text-xs);
    color: var(--iznm-text-muted); letter-spacing: var(--iznm-tracking-body); margin-top: var(--iznm-space-2);
}
.iznm-etch-done-card {
    display: flex; align-items: center; justify-content: center;
    width: 100%; height: 52px;
    border: 1px solid var(--iznm-green); border-radius: var(--iznm-radius-pill);
    color: var(--iznm-green); font-size: var(--iznm-text-sm);
    letter-spacing: var(--iznm-tracking-button); background: transparent;
    box-sizing: border-box; font-family: var(--iznm-font-ja);
}
.iznm-etch-done-date {
    text-align: center; font-size: var(--iznm-text-xs);
    color: var(--iznm-text-muted); letter-spacing: 0.08em; margin-top: 6px;
}
.iznm-etch-starter-wrap { text-align: center; padding: 10px 0 0; }
.iznm-etch-starter-txt {
    font-size: var(--iznm-text-xs); color: var(--iznm-text-muted);
    letter-spacing: 0.05em; margin-bottom: 6px;
}
.iznm-etch-starter-link {
    font-size: var(--iznm-text-xs); color: var(--iznm-color-link);
    text-decoration: none; letter-spacing: 0.05em;
}
.iznm-etch-starter-link:hover { opacity: 0.7; }
/* Moved to iznm-components.css */
.iznm-etch-ghost-main { font-size: var(--iznm-text-sm); color: var(--iznm-btn-text); letter-spacing: 0.08em; }
.iznm-etch-ghost-sub { font-size: var(--iznm-text-xs); color: var(--iznm-btn-text); margin-top: 2px; }

/* 緊急情報 */
.iznm-em-box {
    margin-top: 28px; background: transparent; border: none;  /* 28px: 例外・space grid 外 */
    border-left: 2px solid var(--iznm-green-deep);
    border-radius: var(--iznm-radius-none); padding: var(--iznm-space-3) var(--iznm-space-4); box-shadow: none;
}
.iznm-em-header { display: flex; align-items: center; gap: var(--iznm-space-2); margin-bottom: var(--iznm-space-3); }
.iznm-em-dot { width: 5px; height: 5px; border-radius: var(--iznm-radius-circle); background: var(--iznm-green-deep); flex-shrink: 0; display: inline-block; }
.iznm-em-title { font-size: 12px; color: var(--iznm-green-deep); letter-spacing: var(--iznm-tracking-button); text-transform: uppercase; font-weight: var(--iznm-font-medium); }  /* 12px: 例外・トークン外サイズ */
.iznm-em-label { font-size: 11px; color: var(--iznm-text-muted); display: block; margin-bottom: var(--iznm-space-3); letter-spacing: 0.03em; line-height: 1.5; }  /* 11px: 例外・トークン外サイズ */
.iznm-pw-boxes { display: flex; gap: 6px; margin-bottom: 10px; }
.iznm-pw-input {
    flex: 1; height: 38px; background: var(--iznm-bg-deep);
    border: 1px solid var(--iznm-border-dark); border-radius: var(--iznm-radius-sm);
    color: var(--iznm-text-main); font-size: var(--iznm-text-base);
    text-align: center; letter-spacing: 0.2em;
}
.iznm-pw-input:focus { border-color: var(--iznm-green-deep); outline: none; }
.iznm-em-submit {
    width: 100%; padding: 10px 0; background: var(--iznm-green-deep);  /* 10px: 例外・space grid 外 */
    color: var(--iznm-color-on-red); border: none; border-radius: var(--iznm-radius-md);
    font-size: var(--iznm-text-sm); letter-spacing: 0.1em;
    cursor: pointer; transition: opacity var(--iznm-transition-normal);
    display: block; font-family: var(--iznm-font-ja);
}
.iznm-em-submit:hover { opacity: 0.85; }
.iznm-em-result-body { padding: 4px 0; }
.iznm-em-row { display: flex; justify-content: space-between; padding: 7px 0; border-bottom: 1px solid var(--iznm-border-dark); font-size: 12px; gap: var(--iznm-space-2); }  /* 7px: 例外・space grid 外 */
.iznm-em-row:last-child { border-bottom: none; }
.iznm-em-k { color: var(--iznm-text-muted); flex-shrink: 0; }
.iznm-em-v { color: var(--iznm-text-main); text-align: right; font-size: 11px; line-height: 1.5; }

/* 本人通知・ステータス */
.iznm-own-page-notice { text-align: center; font-size: var(--iznm-text-xs); color: var(--iznm-text-muted); padding: 6px 0; margin-bottom: var(--iznm-space-4); border-bottom: 1px solid var(--iznm-border-dark); }  /* 6px: 例外・space grid 外 */
.iznm-public-badge { color: var(--iznm-blue); font-size: var(--iznm-text-xs); background: transparent !important; }
.iznm-private-badge { color: var(--iznm-text-muted); font-size: var(--iznm-text-xs); }
.iznm-own-bar { display: flex; gap: 10px; margin-top: var(--iznm-space-6); width: 100%; }  /* 10px: 例外・space grid 外 */
/* Moved to iznm-components.css */
.iznm-button-icon { margin-right: var(--iznm-space-1); font-size: 12px; }  /* 12px: 例外・トークン外サイズ */
.iznm-connections-link { display: block; text-align: center; font-size: var(--iznm-text-sm); color: var(--iznm-btn-text); background: var(--iznm-btn-bg); border: var(--iznm-btn-border); border-radius: var(--iznm-btn-radius); letter-spacing: var(--iznm-tracking-wider); margin-top: var(--iznm-space-4); text-decoration: none; padding: 10px 8px; }
.iznm-connections-link:hover { background: var(--iznm-btn-bg-hover); color: var(--iznm-btn-text); }
.iznm-upsell-btn {
    display: block; width: 100%; height: 52px; line-height: 52px;
    text-align: center; background: var(--iznm-btn-bg); color: var(--iznm-btn-text);
    border: var(--iznm-btn-border); border-radius: var(--iznm-btn-radius); font-size: var(--iznm-text-sm);
    letter-spacing: var(--iznm-tracking-wider); text-decoration: none; margin-top: var(--iznm-space-3);
    transition: background var(--iznm-transition-normal); box-sizing: border-box;
    font-family: var(--iznm-font-ja);
}
.iznm-upsell-btn:hover { background: var(--iznm-btn-bg-hover); color: var(--iznm-btn-text); }
.iznm-notice-text {
    /* font-size: Moved to iznm-components.css */ color: var(--iznm-text-muted); letter-spacing: var(--iznm-tracking-wide);
    line-height: var(--iznm-leading-normal); margin-bottom: var(--iznm-space-4); padding: 10px 14px;  /* 10px/14px: 例外・space grid 外 */
    border: 1px solid var(--iznm-border-dark); border-radius: var(--iznm-radius-md);
}

/* WooCommerce my-account ナビゲーション（上書き） */
.woocommerce-MyAccount-navigation {
    width: 100%;
    margin-bottom: 24px;
}
.woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.woocommerce-MyAccount-navigation ul li {
    margin: 0;
    padding: 0;
    border: none;
}
.woocommerce-MyAccount-navigation ul li a {
    display: inline-block;
    padding: 6px 14px;
    font-size: var(--iznm-text-sm);
    font-family: var(--iznm-font-ja);
    color: var(--iznm-text-sub);
    letter-spacing: 0.08em;
    text-decoration: none;
    border: 1px solid var(--iznm-border-dark);
    border-radius: var(--iznm-radius-md);
    transition: color var(--iznm-transition-normal), border-color var(--iznm-transition-normal);
}
.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a {
    color: var(--iznm-text-main);
    border-color: var(--iznm-border-light);
}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--logout a {
    color: var(--iznm-border-light);
}
.iznm-legal-wrap { max-width: 500px; margin: 0 auto; padding: var(--iznm-space-12) var(--iznm-space-6) var(--iznm-space-20); }
.iznm-legal-date { font-size: 12px; color: var(--iznm-text-muted); letter-spacing: var(--iznm-tracking-wider); margin-bottom: var(--iznm-space-8); }  /* 12px: 例外・トークン外サイズ */
.iznm-legal-wrap h2 { font-size: 16px; font-weight: var(--iznm-font-bold); color: var(--iznm-text-main); margin: var(--iznm-space-10) 0 var(--iznm-space-4); padding-bottom: var(--iznm-space-2); border-bottom: 1px solid rgba(255,255,255,0.08); }  /* 16px: 例外・トークン外サイズ */
.iznm-legal-wrap p { font-size: 14px; color: var(--iznm-text-sub); line-height: 1.9; margin-bottom: var(--iznm-space-4); }  /* 14px: 例外・トークン外サイズ */
.iznm-legal-wrap ul, .iznm-legal-wrap ol { font-size: 14px; color: var(--iznm-text-sub); line-height: 1.9; padding-left: var(--iznm-space-6); margin-bottom: var(--iznm-space-4); }  /* 14px: 例外・トークン外サイズ */
.iznm-legal-wrap li { margin-bottom: 6px; }
.iznm-tokushoho-table { width: 100%; border-collapse: collapse; font-size: var(--iznm-text-xs); }
.iznm-tokushoho-table th { text-align: left; color: var(--iznm-text-muted); font-weight: var(--iznm-font-normal); padding: 14px var(--iznm-space-4); border-bottom: 1px solid rgba(255,255,255,0.06); width: 35%; vertical-align: top; letter-spacing: 0.04em; }  /* 14px: 例外・space grid 外 */
.iznm-tokushoho-table td { color: var(--iznm-text-sub); padding: 14px var(--iznm-space-4); border-bottom: 1px solid rgba(255,255,255,0.06); line-height: var(--iznm-leading-relaxed); vertical-align: top; }  /* 14px: 例外・space grid 外 */
/* サポート / FAQ / 規約 → components.css に移管 */
@media (max-width: 600px) { .iznm-tokushoho-table th, .iznm-tokushoho-table td { display: block; width: 100%; } .iznm-tokushoho-table th { border-bottom: none; padding-bottom: 4px; } .iznm-legal-link-card__label { display: none; } }


/* === CONNECTメモ機能 === */
.iznm-connection-item {
    flex-direction: column;
    align-items: flex-start;
}
.iznm-connection-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 12px;
}
.iznm-memo-wrap {
    width: 100%;
    padding-top: 6px;
}
.iznm-memo-text {
    /* font-size: Moved to iznm-components.css */
    color: var(--iznm-text-muted);
    letter-spacing: 0.05em;
    margin: 0;
    cursor: pointer;
    line-height: 1.6;
    padding: 4px 0;
    border-bottom: 1px dashed var(--iznm-border-dark);
}
.iznm-memo-text:hover {
    color: var(--iznm-text-sub);
}
.iznm-memo-add-btn {
    background: var(--iznm-btn-bg);
    border: var(--iznm-btn-border);
    border-radius: var(--iznm-btn-radius);
    color: var(--iznm-btn-text);
    font-size: 10px;
    letter-spacing: 0.12em;
    cursor: pointer;
    padding: 2px 8px;
    text-transform: uppercase;
    text-decoration: none;
}
.iznm-memo-add-btn:hover {
    background: var(--iznm-btn-bg-hover);
}
.iznm-memo-editor {
    width: 100%;
    padding-top: 4px;
}
.iznm-memo-input {
    width: 100%;
    background: var(--iznm-bg-raised);
    border: 1px solid rgba(255,255,255,.1);
    color: var(--iznm-text-main);
    font-size: 12px;
    padding: 8px 10px;
    resize: vertical;
    outline: none;
    box-sizing: border-box;
    line-height: 1.6;
}
.iznm-memo-input:focus {
    border-color: rgba(255,255,255,.25);
}
.iznm-memo-actions {
    display: flex;
    gap: 8px;
    margin-top: 6px;
}
.iznm-memo-save {
    background: var(--iznm-text-main);
    color: #000;
    border: none;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    padding: 6px 14px;
    cursor: pointer;
    text-transform: uppercase;
}
.iznm-memo-save:hover { opacity: .85; }
.iznm-memo-cancel {
    background: none;
    border: 1px solid var(--iznm-border-dark);
    color: var(--iznm-text-muted);
    font-size: 10px;
    letter-spacing: 0.1em;
    padding: 6px 10px;
    cursor: pointer;
    text-transform: uppercase;
}
.iznm-memo-cancel:hover { color: var(--iznm-text-sub); }


/* ================================================
   CIRCLE CONNECT CSS（No.101）
   ================================================ */

/* --- CIRCLE参加ページ --- */
.iznm-group-join {
    
}
.iznm-group-join-title {
    font-size: var(--iznm-text-lg);
    font-weight: var(--iznm-font-bold);
    letter-spacing: 0.08em;  /* 例外: トークン外 */
    margin-bottom: var(--iznm-space-3);
    color: var(--iznm-text-main);
}
.iznm-group-join-desc {
    font-size: var(--iznm-text-xs);
    color: var(--iznm-text-sub);
    line-height: var(--iznm-leading-relaxed);
    margin-bottom: var(--iznm-space-8);
}
.iznm-group-join-msg {
    padding: var(--iznm-space-6);
    background: var(--iznm-bg-raised);
    border: 1px solid var(--iznm-border-dark);
    text-align: center;
}
.iznm-group-join-msg p {
    font-size: var(--iznm-text-xs);
    color: var(--iznm-text-sub);
    margin-bottom: var(--iznm-space-4);
}
.iznm-group-join-form .iznm-form-field {
    margin-bottom: var(--iznm-space-5);
}
.iznm-group-join-form label {
    display: block;
    font-size: var(--iznm-text-xs);
    letter-spacing: var(--iznm-tracking-button);
    color: var(--iznm-text-muted);
    text-transform: uppercase;
    margin-bottom: 6px;  /* 例外: space grid 外 */
}
.iznm-group-join-form input[type="text"],
.iznm-group-join-form input[type="email"] {
    width: 100%;
    background: var(--iznm-bg-raised);
    border: 1px solid rgba(255,255,255,.1);
    color: var(--iznm-text-main);
    font-size: var(--iznm-text-sm);
    padding: 12px 14px;
    box-sizing: border-box;
    outline: none;
}
.iznm-group-join-form input:focus {
    border-color: rgba(255,255,255,.25);
}

/* Moved to iznm-components.css */
.iznm-group-header {
    margin-bottom: var(--iznm-space-10);
}
.iznm-group-name {
    font-size: var(--iznm-text-xl);
    font-weight: var(--iznm-font-bold);
    letter-spacing: var(--iznm-tracking-body);
    color: var(--iznm-text-main);
    margin-bottom: var(--iznm-space-2);
}
.iznm-group-desc {
    font-size: var(--iznm-text-xs);
    color: var(--iznm-text-sub);
    line-height: var(--iznm-leading-relaxed);
    margin-bottom: var(--iznm-space-3);
}
.iznm-group-settings-link {
    /* font-size: Moved to iznm-components.css */
    color: var(--iznm-text-muted);
    text-decoration: underline;
    letter-spacing: var(--iznm-tracking-wider);
}
/* Moved to iznm-components.css */
.iznm-group-restricted {
    text-align: center;
    padding: 60px var(--iznm-space-6);  /* 60px: 例外・space grid 外 */
}
.iznm-group-restricted p {
    font-size: var(--iznm-text-xs);
    color: var(--iznm-text-sub);
}

/* --- メンバーリスト --- */
.iznm-group-member-list {
    list-style: none;
    padding: 0;
    margin: 0 0 var(--iznm-space-10);
}
.iznm-group-member-item {
    display: flex;
    align-items: center;
    gap: 10px;  /* 例外: space grid 外 */
    padding: 10px 0;  /* 例外: space grid 外 */
    border-bottom: 1px solid var(--iznm-border-dark);
    font-size: var(--iznm-text-xs);
    color: var(--iznm-text-main);
}
.iznm-group-member-item a {
    color: var(--iznm-text-main);
    text-decoration: none;
    font-weight: var(--iznm-font-bold);
    letter-spacing: 0.08em;  /* 例外: トークン外 */
    font-size: var(--iznm-text-xs);
}
.iznm-group-member-item a:hover {
    text-decoration: underline;
}
/* Moved to iznm-components.css (.iznm-badge--role) */
/* Moved to iznm-components.css (.iznm-badge--status) */
/* Moved to iznm-components.css */

/* --- 掲示板 --- */
.iznm-group-board {
    margin-top: var(--iznm-space-10);
}
.iznm-group-post-form {
    margin-bottom: var(--iznm-space-8);
}
.iznm-group-post-form textarea {
    width: 100%;
    background: var(--iznm-bg-raised);
    border: 1px solid rgba(255,255,255,.1);
    color: var(--iznm-text-main);
    font-size: var(--iznm-text-xs);
    padding: var(--iznm-space-3);
    resize: vertical;
    outline: none;
    box-sizing: border-box;
    margin-bottom: var(--iznm-space-2);
    line-height: 1.7;  /* 例外: トークン外 */
}
.iznm-group-post-form textarea:focus {
    border-color: rgba(255,255,255,.25);
}
.iznm-group-empty {
    font-size: var(--iznm-text-xs);
    color: var(--iznm-text-muted);
}
.iznm-group-post {
    border-bottom: 1px solid var(--iznm-border-dark);
    padding: var(--iznm-space-5) 0;
}
.iznm-group-post.iznm-pinned {
    border-left: 2px solid var(--iznm-text-muted);
    padding-left: var(--iznm-space-3);
}
.iznm-pin-badge {
    /* font-size: Moved to iznm-components.css */
    letter-spacing: var(--iznm-badge-letter-spacing);
    color: var(--iznm-text-muted);
    margin-bottom: 6px;  /* 例外: space grid 外 */
}
.iznm-group-post-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--iznm-space-2);
}
.iznm-group-post-author {
    /* font-size: Moved to iznm-components.css */
    font-weight: var(--iznm-font-bold);
    letter-spacing: var(--iznm-tracking-wider);
    color: var(--iznm-text-main);
}
.iznm-group-post-date {
    /* font-size: Moved to iznm-components.css */
    color: var(--iznm-text-muted);
    letter-spacing: var(--iznm-tracking-body);
}
.iznm-group-post-body {
    font-size: var(--iznm-text-xs);
    color: var(--iznm-text-sub);
    line-height: var(--iznm-leading-relaxed);
}

/* --- コメント --- */
.iznm-group-comments {
    margin-top: var(--iznm-space-3);
    padding-left: var(--iznm-space-4);
    border-left: 1px solid var(--iznm-border-dark);
}
.iznm-group-comment {
    padding: var(--iznm-space-2) 0;
}
.iznm-group-comment-author {
    /* font-size: Moved to iznm-components.css */
    font-weight: var(--iznm-font-bold);
    color: var(--iznm-text-main);
    letter-spacing: var(--iznm-tracking-body);
    margin-right: var(--iznm-space-2);
}
.iznm-group-comment-date {
    /* font-size: Moved to iznm-components.css */
    color: var(--iznm-text-muted);
}
.iznm-group-comment p {
    /* font-size: Moved to iznm-components.css */
    color: var(--iznm-text-sub);
    line-height: 1.7;  /* 例外: トークン外 */
    margin: var(--iznm-space-1) 0 0;
}
.iznm-group-comment-form {
    margin-top: 10px;
}
.iznm-comment-input-wrap {
    display: flex;
    gap: 6px;
}
.iznm-comment-input-wrap input {
    flex: 1;
    background: var(--iznm-bg-raised);
    border: 1px solid rgba(255,255,255,.08);
    color: var(--iznm-text-main);
    font-size: var(--iznm-text-xs);
    padding: 8px 10px;
    outline: none;
    box-sizing: border-box;
}
.iznm-comment-input-wrap input:focus {
    border-color: rgba(255,255,255,.2);
}
.iznm-comment-input-wrap button {
    background: var(--iznm-btn-bg);
    color: var(--iznm-btn-text);
    border: var(--iznm-btn-border);
    border-radius: var(--iznm-btn-radius);
    font-size: var(--iznm-text-sm);
    padding: var(--iznm-space-2) 14px;  /* 14px: 例外・space grid 外 */
    cursor: pointer;
    font-weight: var(--iznm-font-bold);
    letter-spacing: var(--iznm-tracking-button);
    text-decoration: none;
}
.iznm-comment-input-wrap button:hover {
    background: var(--iznm-btn-bg-hover);
}

/* --- CIRCLE設定ページ --- */
.iznm-group-settings {
    
}
.iznm-group-settings-title {
    font-size: var(--iznm-text-base);
    font-weight: var(--iznm-font-bold);
    letter-spacing: var(--iznm-tracking-body);
    color: var(--iznm-text-main);
    margin-bottom: var(--iznm-space-8);
}
.iznm-group-edit-form {
    margin-bottom: var(--iznm-space-10);
}
.iznm-group-edit-form .iznm-form-field {
    margin-bottom: var(--iznm-space-5);
}
.iznm-group-edit-form label {
    display: block;
    font-size: var(--iznm-text-xs);
    letter-spacing: var(--iznm-tracking-button);
    color: var(--iznm-text-muted);
    text-transform: uppercase;
    margin-bottom: 6px;  /* 例外: space grid 外 */
}
.iznm-group-edit-form input[type="text"],
.iznm-group-edit-form textarea {
    width: 100%;
    background: var(--iznm-bg-raised);
    border: 1px solid rgba(255,255,255,.1);
    color: var(--iznm-text-main);
    font-size: var(--iznm-text-sm);
    padding: 12px 14px;
    box-sizing: border-box;
    outline: none;
    line-height: 1.6;
}
.iznm-group-edit-form textarea {
    resize: vertical;
}
.iznm-group-edit-form input:focus,
.iznm-group-edit-form textarea:focus {
    border-color: rgba(255,255,255,.25);
}

/* --- 招待URL --- */
.iznm-group-invite {
    margin-bottom: var(--iznm-space-10);
}
.iznm-invite-url-wrap {
    display: flex;
    gap: var(--iznm-space-2);
}
.iznm-invite-url-wrap input {
    flex: 1;
    background: var(--iznm-bg-raised);
    border: 1px solid rgba(255,255,255,.08);
    color: var(--iznm-text-sub);
    font-size: var(--iznm-text-xs);
    padding: 10px 12px;
    box-sizing: border-box;
    outline: none;
}
.iznm-copy-btn {
    background: var(--iznm-btn-bg);
    color: var(--iznm-btn-text);
    border: var(--iznm-btn-border);
    border-radius: var(--iznm-btn-radius);
    font-size: 10px;  /* 例外: トークン外サイズ */
    font-weight: var(--iznm-font-bold);
    letter-spacing: var(--iznm-tracking-wider);
    padding: 10px var(--iznm-space-4);  /* 10px: 例外・space grid 外 */
    cursor: pointer;
    text-transform: uppercase;
    white-space: nowrap;
    text-decoration: none;
}
.iznm-copy-btn:hover {
    background: var(--iznm-btn-bg-hover);
}

/* --- GROUP作成フォーム（border-top は components.css で管理） --- */
.iznm-create-group {
    margin-top: var(--iznm-space-6);
}

/* --- 通知バッジ --- */
.iznm-notif-bell {
    position: relative;
    display: inline-flex;
    align-items: center;
    margin-left: var(--iznm-space-4);
    color: var(--iznm-text-muted);
    background: none;
    border: none;
    padding: var(--iznm-space-1);
    cursor: pointer;
    line-height: 1;
}
.iznm-notif-bell:hover { color: var(--iznm-text-main); }
.iznm-notif-badge {
    position: absolute;
    top: -6px;
    right: -8px;
    background: var(--iznm-form-required-color);
    color: var(--iznm-color-on-red);
    font-size: 9px;  /* 例外: トークン外サイズ */
    font-weight: var(--iznm-font-bold);
    min-width: var(--iznm-space-4);
    height: var(--iznm-space-4);
    border-radius: var(--iznm-radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
}

/* --- 軽量ユーザーCTAバナー --- */
.iznm-group-only-cta {
    background: var(--iznm-bg-raised);
    border: 1px solid var(--iznm-border-light);
    padding: var(--iznm-space-6);
    text-align: center;
    margin-bottom: var(--iznm-space-8);
}
.iznm-group-only-cta p {
    font-size: var(--iznm-text-xs);
    color: var(--iznm-text-sub);
    margin-bottom: var(--iznm-space-3);
    line-height: var(--iznm-leading-normal);
}

/* --- 通知設定トグル --- */
.iznm-notify-toggle {
    display: flex;
    align-items: center;
    gap: var(--iznm-space-3);
    padding: var(--iznm-space-4) 0;
    border-top: 1px solid var(--iznm-border-dark);
    margin-top: var(--iznm-space-6);
}
.iznm-notify-toggle label {
    /* font-size: Moved to iznm-components.css */
    color: var(--iznm-text-sub);
    cursor: pointer;
}
.iznm-notify-toggle input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--iznm-text-main);
}

/* --- 通知モーダル --- */
.iznm-notif-modal {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 320px;
    max-height: 400px;
    overflow-y: auto;
    background: var(--iznm-bg-raised);
    border: 1px solid var(--iznm-border-light, var(--iznm-border-dark));
    box-shadow: 0 4px 24px rgba(0,0,0,.4);
    border-radius: var(--iznm-radius-lg);
    z-index: var(--iznm-z-modal);
}
.iznm-notif-modal-inner { padding: var(--iznm-space-3) 0; }
.iznm-notif-empty { padding: var(--iznm-space-4); color: var(--iznm-text-muted); font-size: var(--iznm-text-xs); text-align: center; margin: 0; }
.iznm-notif-list { list-style: none; margin: 0; padding: 0; }

/* === Phase 4.1-i/j: JS 生成構造 (<li> 直下に <span>) に合わせたスタイル === */
.iznm-notif-item {
    display: flex;
    flex-direction: column;
    gap: var(--iznm-space-1);
    padding: var(--iznm-space-3) var(--iznm-space-4);
    color: var(--iznm-text-main);
    border-bottom: 1px solid var(--iznm-border-dark);
    transition: background 0.15s;
    cursor: pointer;
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0.05);
    user-select: none;
}
.iznm-notif-item:hover { background: rgba(255,255,255,.03); }
.iznm-notif-item--unread { background: rgba(255,255,255,.03); }

.iznm-notif-text {
    display: block;
    font-size: var(--iznm-text-xs);
    line-height: 1.5;  /* 例外: トークン外 */
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
}
.iznm-notif-time {
    display: block;
    font-size: var(--iznm-text-xs);
    color: var(--iznm-text-muted);
}

/* === 旧 a タグスタイルを将来の改訂への保護として残す === */
.iznm-notif-item a {
    display: flex;
    flex-direction: column;
    gap: 4px;
    text-decoration: none;
    color: var(--iznm-text-main);
}
.iznm-notif-item a:hover { background: rgba(255,255,255,.03); }
.iznm-notif-item.iznm-notif-unread a { background: rgba(255,255,255,.03); }
@media (max-width: 768px) {
    .iznm-notif-modal { width: calc(100vw - 48px); right: -8px; }
}

/* --- my-account CIRCLEリンク --- */
.iznm-card-btn {
    display: inline-block; margin-top: var(--iznm-space-2);
    font-size: 12px; letter-spacing: var(--iznm-tracking-wider);  /* 12px: 例外・トークン外サイズ */
    color: var(--iznm-btn-text); text-decoration: none;
    background: var(--iznm-btn-bg); border: var(--iznm-btn-border);
    border-radius: var(--iznm-btn-radius); padding: 4px 10px;
}
.iznm-card-btn:hover { background: var(--iznm-btn-bg-hover); }

/* --- フィルタータブ --- */
.iznm-type-filter {
    display: flex;
    gap: var(--iznm-space-2);
    margin-bottom: var(--iznm-space-4);
}
.iznm-type-filter .iznm-badge {
    font-size: 10px;  /* 例外: トークン外サイズ */
    letter-spacing: var(--iznm-tracking-button);
    color: var(--iznm-text-muted);
    text-transform: uppercase;
    padding: var(--iznm-space-1) 10px;  /* 10px: 例外・space grid 外 */
    border: 1px solid var(--iznm-border-dark);
    text-decoration: none;
    opacity: 0.5;
    cursor: pointer;
    transition: opacity 0.15s;
}
.iznm-type-filter .iznm-badge:hover { opacity: 0.8; }
.iznm-type-filter .iznm-badge.iznm-filter-active {
    opacity: 1;
    border-color: var(--iznm-text-main);
    color: var(--iznm-text-main);
}

/* --- CIRCLEアイコン --- */
.iznm-group-icon-wrap {
    width: 72px;
    height: 72px;
    border-radius: var(--iznm-radius-lg);
    overflow: hidden;
    flex-shrink: 0;
}
.iznm-group-icon-img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    display: block;
}
.iznm-group-icon-placeholder {
    width: 72px;
    height: 72px;
    border-radius: var(--iznm-radius-lg);
    background: var(--iznm-bg-raised);
    border: 1px solid var(--iznm-border-dark);
    display: flex;
    align-items: center;
    justify-content: center;
}


/* --- Free ID アップセルCTA（新文言）--- */
.iznm-free-id-cta {
    text-align: center;
    margin: var(--iznm-space-4) 0;
    padding: var(--iznm-space-4);
    background: var(--iznm-bg-raised);
    border-radius: var(--iznm-radius-lg);
}
.iznm-free-id-cta-text {
    font-size: var(--iznm-text-xs);
    color: var(--iznm-text-muted);
    margin: 0 0 var(--iznm-space-3);
    line-height: var(--iznm-leading-normal);
}

/* --- ページ共有モーダル --- */
.iznm-share-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}
.iznm-share-modal[hidden] { display: none; }
.iznm-share-modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.6);
}
.iznm-share-modal-inner {
    position: relative;
    background: var(--iznm-bg-raised);
    border: 1px solid var(--iznm-border-dark);
    border-radius: 12px;  /* 例外: トークン外 radius */
    padding: var(--iznm-space-8) var(--iznm-space-6) var(--iznm-space-6);
    width: 300px;
    text-align: center;
    z-index: 1;
}
.iznm-share-modal-close {
    position: absolute;
    top: var(--iznm-space-3);
    right: var(--iznm-space-4);
    background: none;
    border: none;
    color: var(--iznm-text-muted);
    font-size: 20px;
    cursor: pointer;
    line-height: 1;
}
.iznm-share-modal-title {
    /* font-size: Moved to iznm-components.css */
    letter-spacing: var(--iznm-tracking-wider);
    color: var(--iznm-text-muted);
    margin: 0 0 var(--iznm-space-4);
}
.iznm-share-modal-qr {
    width: 180px;
    height: 180px;
    display: block;
    margin: 0 auto var(--iznm-space-4);
    border-radius: var(--iznm-radius-md);
    background: #fff;  /* 例外: QR背景は白固定 */
    padding: var(--iznm-space-2);
}
.iznm-share-modal-url {
    /* font-size: Moved to iznm-components.css */
    color: var(--iznm-text-muted);
    word-break: break-all;
    margin: 0 0 var(--iznm-space-4);
}
.iznm-share-copy-btn {
    display: inline-block;
    padding: 10px var(--iznm-space-6);  /* 10px: 例外・space grid 外 */
    background: var(--iznm-btn-bg);
    color: var(--iznm-btn-text);
    border: var(--iznm-btn-border);
    border-radius: var(--iznm-btn-radius);
    font-size: var(--iznm-text-xs);
    font-weight: var(--iznm-font-bold);
    letter-spacing: var(--iznm-tracking-wide);
    cursor: pointer;
    width: 100%;
    text-decoration: none;
}
.iznm-share-copy-btn:hover { background: var(--iznm-btn-bg-hover); }

/* === Phase 3B.3: /connections/ target_type 別出力 === */
.iznm-connection-target .iznm-connection-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--iznm-space-3);
    padding: var(--iznm-space-3) 0;
    color: var(--iznm-text-main);
    text-decoration: none;
    border-bottom: 1px solid var(--iznm-border-dark);
}
.iznm-connection-target .iznm-connection-link:hover {
    background: rgba(255,255,255,0.02);
}
.iznm-connection-type-badge {
    display: inline-flex;
    align-items: center;
    padding: var(--iznm-badge-padding-y) var(--iznm-badge-padding-x);
    border-radius: var(--iznm-radius-md);
    font-size: 10px;  /* 例外: トークン外サイズ */
    letter-spacing: var(--iznm-tracking-wider);
    background: var(--iznm-bg-raised);
    border: 1px solid var(--iznm-border-dark);
    color: var(--iznm-text-sub);
    flex-shrink: 0;
    min-height: var(--iznm-badge-height-sm);
    box-sizing: border-box;
}
.iznm-badge-spot  { border-color: #4a7c7c; color: #8fc4c4; }
.iznm-badge-event { border-color: #8b7355; color: #d4b896; }
.iznm-badge-brand  { border-color: #6b5b7c; color: #b7a3c4; }
.iznm-connection-target .iznm-connection-name {
    flex: 1;
    font-size: var(--iznm-text-xs);
    color: var(--iznm-text-main);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.iznm-connection-target .iznm-connection-date {
    /* font-size: Moved to iznm-components.css */
    color: var(--iznm-text-muted);
    flex-shrink: 0;
}

/* Phase 3B.3: フィルターボタン横スクロール対応 */
@media (max-width: 480px) {
    .iznm-type-filter {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .iznm-type-filter .iznm-badge {
        flex-shrink: 0;
    }
}

/* ============================================================
   Phase 4.0-1: フッターナビ（モバイルファースト・アプリ型UI）
   ============================================================ */

.iznm-footer-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: var(--iznm-z-footer-nav);
    display: flex;
    align-items: stretch;
    justify-content: space-around;
    max-width: 500px;
    margin: 0 auto;
    height: 64px;
    background: var(--iznm-bg-deep);
    border-top: 1px solid var(--iznm-border-dark);
    padding-bottom: env(safe-area-inset-bottom, 0);
    overflow: visible; /* FAB の上方飛び出しを切らないよう明示（リスク5対応） */
}

.iznm-footer-nav-item {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--iznm-space-1);
    color: var(--iznm-text-muted);
    text-decoration: none;
    font-size: 10px;  /* 例外: トークン外サイズ */
    font-weight: var(--iznm-font-medium);
    letter-spacing: 0.08em;  /* 例外: トークン外 */
    line-height: 1;
    transition: color var(--iznm-transition-fast);
    padding: 0 2px;
    min-height: 44px;
    position: relative;
}

.iznm-footer-nav-item:hover,
.iznm-footer-nav-item:focus,
.iznm-footer-nav-item.is-active {
    color: var(--iznm-text-main);
}

.iznm-footer-nav-item span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: clip;
    max-width: 100%;
}

.iznm-footer-nav-icon {
    flex-shrink: 0;
    display: block;
    width: var(--iznm-space-6);
    height: var(--iznm-space-6);
}

/* ---- 未読バッジ（Phase 4.1 で実装・Phase 4.0-1 では hidden 属性で非表示） ---- */
.iznm-footer-nav-badge {
    position: absolute;
    top: 6px;
    right: calc(50% - 20px);
    min-width: var(--iznm-space-4);
    height: var(--iznm-space-4);
    padding: 0 var(--iznm-space-1);
    background: var(--iznm-red);
    color: var(--iznm-color-on-red);
    font-size: 9px;  /* 例外: トークン外サイズ */
    font-weight: var(--iznm-font-bold);
    border-radius: var(--iznm-radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
}
.iznm-footer-nav-badge[hidden] { display: none; } /* リスク7対応：[hidden]ガード */

/* ============================================================
   FAB（+CONNECT・ダークグレー確定・ラベルなし）
   ============================================================ */

.iznm-fab-etching {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--iznm-space-16);
    height: var(--iznm-space-16);
    margin-top: calc(-1 * var(--iznm-space-5));
    border-radius: var(--iznm-radius-circle);
    background: radial-gradient(
        circle at 30% 28%,
        #3a3a3a 0%,
        #222222 55%,
        #0e0e0e 100%
    );
    border: 1.5px solid rgba(255, 255, 255, 0.3);
    box-shadow:
        0 6px 20px rgba(0, 0, 0, 0.6),
        0 0 0 4px var(--iznm-bg-deep),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
    cursor: pointer;
    transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1),
                box-shadow 0.2s ease;
    -webkit-tap-highlight-color: transparent;
    outline: none;
    padding: 0;
    flex-shrink: 0;
    align-self: center;
}

.iznm-fab-etching-slash {
    display: block;
    width: 24px;
    height: 39px;
    background-image: url('https://iznm.jp/wp-content/uploads/2026/03/iznm-logo-slash-w.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.45));
    pointer-events: none;
}

.iznm-fab-etching:active {
    transform: scale(0.92);
    box-shadow:
        0 3px 12px rgba(0, 0, 0, 0.7),
        0 0 0 4px var(--iznm-bg-deep),
        inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

@media (hover: hover) {
    .iznm-fab-etching:hover {
        transform: translateY(-2px) scale(1.02);
        box-shadow:
            0 10px 28px rgba(0, 0, 0, 0.65),
            0 0 0 4px var(--iznm-bg-deep),
            0 0 22px rgba(255, 255, 255, 0.22),
            inset 0 1px 0 rgba(255, 255, 255, 0.25);
    }
}

.iznm-fab-etching::before {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.7);
    opacity: 0;
    animation: iznm-fab-pulse 3s ease-in-out infinite;
    pointer-events: none;
}

@keyframes iznm-fab-pulse {
    0%, 100% { opacity: 0; transform: scale(1); }
    50%      { opacity: 0.28; transform: scale(1.08); }
}

.iznm-fab-etching:focus-visible {
    box-shadow:
        0 6px 20px rgba(0, 0, 0, 0.6),
        0 0 0 4px var(--iznm-bg-deep),
        0 0 0 6px rgba(255, 255, 255, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

/* ============================================================
   body padding 調整（フッターナビ高さ分コンテンツ下部を確保）
   NOTE：body.home セレクタは Phase 4.3 で IZNM カスタム HOME 実装時に再検証必須（リスク2対応）
   ============================================================ */

body.logged-in:not(.page-template-page-blank):not(.home) .iznm-wrap,
body.is-logged-in:not(.page-template-page-blank):not(.home) .iznm-wrap {
    padding-bottom: calc(64px + env(safe-area-inset-bottom, 0) + 24px);
}

body.logged-in:not(.page-template-page-blank):not(.home) .iznm-footer-copyright,
body.is-logged-in:not(.page-template-page-blank):not(.home) .iznm-footer-copyright {
    margin-bottom: calc(64px + env(safe-area-inset-bottom, 0));
}

/* Reduced-motion 配慮 */
@media (prefers-reduced-motion: reduce) {
    .iznm-fab-etching,
    .iznm-footer-nav-item {
        transition: none;
    }
    .iznm-fab-etching::before {
        animation: none;
    }
    .iznm-fab-etching:hover,
    .iznm-fab-etching:active {
        transform: none;
    }
}

/* ============================================================
   Phase 4.0-2: βヘッダー（Instagram 型スクロール連動・fixed・56px）
   旧 .iznm-header / .iznm-nav / .iznm-hamburger / .iznm-notif-* は
   別録の「削除・コメントアウト指示」に従って無効化されることが前提。
   ============================================================ */

.iznm-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: var(--iznm-z-sticky);
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    height: var(--iznm-header-height);
    background: var(--iznm-bg-deep);
    border-bottom: 1px solid var(--iznm-border-dark);
    padding-top: env(safe-area-inset-top, 0);
    transform: translateY(0);
    transition: transform 0.24s cubic-bezier(0.4, 0.0, 0.2, 1);
    will-change: transform;
}

/* スクロールダウン時に付けるクラス（JSからトグル） */
.iznm-header.is-hidden {
    transform: translateY(-100%);
}

.iznm-header-inner {
    position: relative;
    width: 100%;
    max-width: 500px;
    height: var(--iznm-header-height);
    margin: 0 auto;
    padding: 0 var(--iznm-space-4);
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
}

/* ロゴ共通 */
.iznm-header-logo {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}

.iznm-header-logo .iznm-logo-img {
    display: block;
    height: 22px;
    width: auto;
    max-width: 120px;
}

/* ログイン時・ロゴ中央配置（絶対配置で左右余白に依存せず確実に中央） */
.iznm-header-logo--centered {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

/* 非ログイン時の右ナビ */
.iznm-header-guest-nav {
    display: inline-flex;
    align-items: center;
    gap: var(--iznm-space-4);
}

.iznm-header-guest-link {
    color: var(--iznm-text-sub, var(--iznm-text-muted));
    text-decoration: none;
    font-size: 12px;  /* 例外: トークン外サイズ */
    font-weight: var(--iznm-font-medium);
    letter-spacing: 0.08em;  /* 例外: トークン外 */
    line-height: 1;
    padding: 8px 4px;
    transition: color var(--iznm-transition-fast);
    -webkit-tap-highlight-color: transparent;
}

.iznm-header-guest-link:hover,
.iznm-header-guest-link:focus {
    color: var(--iznm-text-main);
}

/* Founder Wall / page-blank テンプレートはヘッダー非表示のため padding-top 不要 */
body.page-template-page-blank:has(.iznm-founder-wall) .iznm-wrap,
body.page-template-page-blank .iznm-wrap {
    padding-top: 0;
}

/* Reduced-motion 配慮 */
@media (prefers-reduced-motion: reduce) {
    .iznm-header {
        transition: none;
    }
}

/* ヘッダー自体の表示条件：Founder Wall ページでは非表示（コンテンツに集中） */
body.page-template-page-blank:has(.iznm-founder-wall) .iznm-header {
    display: none;
}

/* ============================================================
   Phase 4.0-2 廆張: 通知ベルの新ヘッダー適用調整
   旧 .iznm-notif-bell / .iznm-notif-modal を活用しつつ、
   新ヘッダー 56px / max-width: 500px / absolute 配置に適合
   ============================================================ */

/* ベル本体: 40x40px / absolute / 中央にアイコン */
.iznm-header-inner .iznm-notif-bell {
    position: absolute;
    right: var(--iznm-space-3);
    top: 50%;
    transform: translateY(-50%);
    width: var(--iznm-space-10);
    height: var(--iznm-space-10);
    padding: var(--iznm-space-2);
    background: transparent;
    border: 0;
    cursor: pointer;
    color: var(--iznm-text, #fff);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

/* ベル内部の SVG サイズを明示 */
.iznm-header-inner .iznm-notif-bell svg {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
}

/* バッジ：ベル右上に赤丸 */
.iznm-header-inner .iznm-notif-badge {
    position: absolute;
    top: var(--iznm-space-1);
    right: var(--iznm-space-1);
    min-width: var(--iznm-space-4);
    height: var(--iznm-space-4);
    padding: 0 var(--iznm-space-1);
    background: #e74c3c;  /* 例外: トークン外の赤 */
    color: var(--iznm-color-on-red);
    font-size: 10px;  /* 例外: トークン外サイズ */
    font-weight: var(--iznm-font-bold);
    line-height: var(--iznm-space-4);
    text-align: center;
    border-radius: var(--iznm-radius-lg);
    pointer-events: none;
}
/* モーダル位置をベルの左下に調整（ヘッダー 56px 直下から表示） */
.iznm-header .iznm-notif-modal {
    position: absolute;
    top: 100%;
    right: 8px;
    margin-top: 4px;
    width: min(320px, calc(100vw - 32px));
    max-width: 320px;
    z-index: 401;
}

/* [hidden] 属性ガード（CSS 詳細度で display が勝つのを防ぐ） */
.iznm-notif-modal[hidden],
.iznm-notif-badge[hidden],
.iznm-notif-empty[hidden] {
    display: none !important;
}

/* === Phase 4.0-3: /shop/ 商品グリッド 1 列化 === */
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 0;
    margin: 0;
    list-style: none;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    width: 100%;
    margin: 0;
    float: none;
}
/* === Phase 4.0-3: /shop/ 商品グリッド 1 列化 終了 === */


/* === Phase 4.0-4: Setting リンク集 UI（追加修正で更新）=== */
.iznm-setting-links {
    list-style: none;
    padding: 0;
    margin: 0;
}
.iznm-setting-link-item {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}
.iznm-setting-link-item a {
    display: block;
    position: relative;
    z-index: 1;
    padding: var(--iznm-space-4) 0;
    color: var(--iznm-text-main);
    text-decoration: none;
    border-bottom: 1px solid var(--iznm-border-dark);
    font-size: var(--iznm-text-sm);
    letter-spacing: var(--iznm-tracking-wide);
    transition: background-color 0.2s;
    cursor: pointer;
}
.iznm-setting-link-item a:hover {
    background-color: rgba(255, 255, 255, 0.03);
}
/* SNS・ショップは flex が必要（SVG + テキストの横並び） */
.iznm-setting-link-item--sns a,
.iznm-setting-link-item--shop a {
    display: flex;
    align-items: center;
    gap: var(--iznm-space-3);
}
.iznm-setting-link-item--sns a svg,
.iznm-setting-link-item--shop a svg {
    flex-shrink: 0;
}
/* === Phase 4.0-4: Setting リンク集 UI 終了 === */

/* === Phase 4.0-4: 紛失申請フォームの入力欄幅 MAX 化（追加修正）=== */
.iznm-lost-form {
    max-width: 100%;
}
.iznm-lost-form textarea,
.iznm-lost-form input[type="text"],
.iznm-lost-form input[type="email"] {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 14px;
    font-size: var(--iznm-text-sm);
    background: var(--iznm-bg-raised);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--iznm-text-main);
    outline: none;
}
.iznm-lost-form textarea {
    min-height: 120px;
    resize: vertical;
}
.iznm-lost-form textarea:focus,
.iznm-lost-form input:focus {
    border-color: rgba(255, 255, 255, 0.25);
}

/* === Phase 4.0-4: フッタナビ全ラベル大文字化（追加修正）=== */
.iznm-footer-nav-item span {
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

/* === Phase 4.0-5: QR スキャナーオーバーレイ === */
.iznm-qr-scanner {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: var(--iznm-bg-deep);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.iznm-qr-scanner[hidden] {
    display: none;
}
.iznm-qr-scanner video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}
.iznm-qr-scanner__frame {
    position: relative;
    z-index: 1;
    width: min(70vw, 280px);
    aspect-ratio: 1;
    border: 3px solid rgba(255, 255, 255, 0.8);
    border-radius: 16px;
    box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.5);
}
.iznm-qr-scanner__close {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 2;
    width: 44px;
    height: 44px;
    border: none;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.6);
    color: var(--iznm-text-main);
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}
.iznm-qr-scanner__close:hover {
    background: rgba(0, 0, 0, 0.8);
}
.iznm-qr-scanner__hint {
    position: relative;
    z-index: 1;
    margin-top: 24px;
    color: var(--iznm-text-main);
    font-size: var(--iznm-text-sm);
    letter-spacing: 0.05em;
    text-align: center;
    padding: 0 20px;
}
.iznm-qr-scanner__error {
    position: absolute;
    bottom: 40px;
    left: 20px;
    right: 20px;
    z-index: 2;
    padding: 16px 20px;
    background: rgba(220, 38, 38, 0.9);
    color: #fff;
    border-radius: 8px;
    font-size: var(--iznm-text-sm);
    text-align: center;
}
.iznm-qr-scanner__error[hidden] {
    display: none;
}

/* === Phase 4.2-2: パスワード再設定フォーム（form-lost-password.php からの分離）=== */
.iznm-password-reset-wrap {
    color: var(--iznm-text-main);
    box-sizing: border-box;
}
.iznm-password-reset__title {
    font-size: var(--iznm-text-xl);
    font-weight: var(--iznm-font-bold);
    letter-spacing: 0.04em;
    margin-bottom: var(--iznm-space-4);
    color: var(--iznm-text-main);
}
.iznm-password-reset__lead {
    font-size: var(--iznm-text-sm);
    color: var(--iznm-text-sub);
    line-height: var(--iznm-leading-relaxed);
    margin-bottom: 36px;  /* 36px: 例外・space grid 外 */
}
.iznm-password-reset-form .iznm-form-row {
    margin-bottom: var(--iznm-space-5);
}
.iznm-password-reset-form label {
    display: block;
    font-size: var(--iznm-text-sm);
    color: var(--iznm-text-sub);
    letter-spacing: var(--iznm-tracking-wider);
    margin-bottom: var(--iznm-space-2);
}
.iznm-password-reset-form .iznm-input {
    width: 100%;
    background: var(--iznm-bg-raised);
    border: 1px solid var(--iznm-border-dark);
    color: var(--iznm-text-main);
    padding: 14px 16px;
    font-size: var(--iznm-text-sm);
    outline: none;
    box-shadow: var(--iznm-shadow-input);
    border-radius: var(--iznm-radius-sm);
    box-sizing: border-box;
    transition: border-color var(--iznm-transition-normal);
}
.iznm-password-reset-form .iznm-input:focus {
    border-color: var(--iznm-blue);
}
.iznm-password-reset-form .iznm-btn {
    width: 100%;
    background: var(--iznm-btn-bg);
    color: var(--iznm-btn-text);
    border: var(--iznm-btn-border);
    padding: 14px var(--iznm-space-6);  /* 14px: 例外・space grid 外 */
    min-height: var(--iznm-space-12);
    font-size: var(--iznm-text-sm);
    font-weight: var(--iznm-font-bold);
    letter-spacing: var(--iznm-tracking-tag);
    cursor: pointer;
    margin-top: var(--iznm-space-2);
    text-transform: uppercase;
    border-radius: var(--iznm-btn-radius);
    transition: background var(--iznm-transition-normal);
    text-decoration: none;
}
.iznm-password-reset-form .iznm-btn:hover {
    background: var(--iznm-btn-bg-hover);
}
.iznm-password-reset-form .required {
    color: var(--iznm-red);
}
/* === Phase 4.2-2: パスワード再設定フォーム 終了 === */

/* === Phase 4.2-2: アカウント詳細 削除申請リンク（form-edit-account.php inline style 分離）=== */
.iznm-account-delete-section {
    margin-top: var(--iznm-space-8);
    padding-top: var(--iznm-space-4);
    border-top: 1px solid var(--iznm-border-dark);
}
.iznm-account-delete-link {
    font-size: var(--iznm-text-xs);
    color: var(--iznm-text-muted);
    letter-spacing: 0.08em;
    text-decoration: none;
    transition: color var(--iznm-transition-normal);
}
.iznm-account-delete-link:hover {
    color: var(--iznm-text-sub);
}
/* === Phase 4.2-2: アカウント詳細 削除申請リンク 終了 === */

/* === Phase 4.2-2: パスワード変更セクションタイトル（form-edit-account.php 既存クラス未定義の追加）=== */
.iznm-password-section-title {
    font-size: var(--iznm-text-base);
    color: var(--iznm-text-main);
    letter-spacing: var(--iznm-tracking-wider);
    margin: var(--iznm-space-8) 0 var(--iznm-space-4);
    padding-top: var(--iznm-space-6);
    border-top: 1px solid var(--iznm-border-dark);
    font-weight: var(--iznm-font-medium);
    font-family: var(--iznm-font-ja);
}
/* === Phase 4.2-2: パスワード変更セクションタイトル 終了 === */

/* === Phase 4.2-2: アカウント詳細フォーム（form-edit-account.php）入力スタイル統一 === */
.woocommerce-EditAccountForm .form-row {
    margin-bottom: 16px;
}
.woocommerce-EditAccountForm label {
    display: block;
    color: var(--iznm-text-sub);
    font-size: var(--iznm-text-sm);
    font-family: var(--iznm-font-ja);
    letter-spacing: 0.08em;
    margin-bottom: 6px;
}
.woocommerce-EditAccountForm input[type="text"],
.woocommerce-EditAccountForm input[type="email"],
.woocommerce-EditAccountForm input[type="password"] {
    background: var(--iznm-bg-raised);
    color: var(--iznm-text-main);
    border: 1px solid var(--iznm-border-dark);
    border-radius: var(--iznm-radius-sm);
    box-shadow: var(--iznm-shadow-input), inset 0 0 0 9999px var(--iznm-bg-raised);
    -webkit-text-fill-color: var(--iznm-text-main);
    font-family: var(--iznm-font-ja);
    font-size: var(--iznm-text-sm);
    padding: 14px 16px;
    width: 100%;
    box-sizing: border-box;
    transition: border-color var(--iznm-transition-normal);
}
.woocommerce-EditAccountForm input:focus {
    border-color: var(--iznm-blue);
    outline: none;
}
.woocommerce-EditAccountForm button[type="submit"] {
    background: var(--iznm-text-main);
    color: #000000;
    border: none;
    border-radius: var(--iznm-radius-md);
    font-family: var(--iznm-font-ja);
    font-size: var(--iznm-text-sm);
    font-weight: var(--iznm-font-medium);
    padding: 14px 24px;
    min-height: 48px;
    width: 100%;
    cursor: pointer;
    letter-spacing: 0.08em;
    transition: opacity var(--iznm-transition-normal);
    margin-top: 16px;
}
.woocommerce-EditAccountForm button[type="submit"]:hover {
    opacity: 0.8;
}
/* === Phase 4.2-2: アカウント詳細フォーム入力スタイル統一 終了 === */
/* === Phase 4.0-5 QR スキャナー終了 === */

/* === Phase 4.2-2 v2: edit-account の WC password 関連動的 DOM 透明化（白い矩形除去）=== */
/* WC が JS で自動注入する .password-input ラッパー + .show-password-input ボタンへの対応 */
.woocommerce-EditAccountForm .password-input {
    position: relative;
    display: block;
    width: 100%;
}
.woocommerce-EditAccountForm .password-input input {
    padding-right: 40px !important;
}
.woocommerce-EditAccountForm .show-password-input {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    color: var(--iznm-text-muted);
    cursor: pointer;
    padding: 0 8px;
    font-size: var(--iznm-text-sm);
    line-height: 1;
}
.woocommerce-EditAccountForm .show-password-input::after {
    content: none;
    display: none;
}
.woocommerce-EditAccountForm .show-password-input:hover {
    color: var(--iznm-text-sub);
}
/* === Phase 4.2-2 v2: edit-account の WC password 関連動的 DOM 透明化 終了 === */

/* === Phase 4.2-3: my-account ダッシュボード プラン状態カード === */
.iznm-plan-status-block {
    margin: 0 0 24px;
}
.iznm-plan-status-block__title {
    font-size: var(--iznm-text-xs);
    color: var(--iznm-text-muted);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: var(--iznm-font-medium);
    margin: 0 0 var(--iznm-space-3);
    font-family: var(--iznm-font-ja);
}
.iznm-plan-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--iznm-space-2);
}
.iznm-plan-list-item {
    position: relative;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--iznm-space-2);
    padding: 16px 0;
    border-bottom: 1px solid var(--iznm-border-dark);
    color: var(--iznm-text-sub);
    font-family: var(--iznm-font-ja);
    transition: border-color var(--iznm-transition-normal), color var(--iznm-transition-normal);
    box-sizing: border-box;
}
.iznm-plan-list-item__name {
    font-size: var(--iznm-text-sm);
    font-weight: var(--iznm-font-medium);
    letter-spacing: 0.05em;
}
.iznm-plan-list-item__number {
    font-size: var(--iznm-text-xs);
    letter-spacing: 0.18em;
    color: var(--iznm-gold);
    font-weight: var(--iznm-font-bold);
    font-family: "Helvetica Neue", Arial, sans-serif;
}
.iznm-plan-list-item__badge {
    margin-left: auto;
    font-size: var(--iznm-text-xs);
    color: var(--iznm-text-main);
    background: var(--iznm-bg-deep);
    border: 1px solid var(--iznm-border-light);
    padding: 4px 10px;
    border-radius: var(--iznm-radius-pill);
    letter-spacing: 0.08em;
    font-weight: var(--iznm-font-medium);
    white-space: nowrap;
}
.iznm-plan-list-item--active {
    color: var(--iznm-text-main);
    border-bottom: 2px solid var(--iznm-gold);
}
.iznm-plan-list-item--founder .iznm-plan-list-item__name {
    color: var(--iznm-gold);
    letter-spacing: 0.1em;
}
.iznm-plan-list-item--founder.iznm-plan-list-item--active {
    border-color: var(--iznm-gold);
}
.iznm-plan-list-item--founder.iznm-plan-list-item--active .iznm-plan-list-item__badge {
    color: var(--iznm-gold);
    border-color: var(--iznm-gold);
}
.iznm-plan-list-item--founder .iznm-plan-list-item__number {
    margin-left: var(--iznm-space-2);
}
/* === Phase 4.2-3: my-account ダッシュボード プラン状態カード 終了 === */

/* === Phase 4.2-3 v2: IZNM ID TAG カードの番号マージン共通化 === */
.iznm-plan-list-item--iznm-id .iznm-plan-list-item__number {
    margin-left: var(--iznm-space-2);
    color: var(--iznm-text-main);
}
/* === Phase 4.2-3 v2: IZNM ID TAG カードの番号マージン共通化 終了 === */

/* === Phase 4.5: HOME タイムライン === */
.iznm-home-timeline {
    
}
.iznm-home-timeline__title {
    font-size: var(--iznm-text-xs);
    color: var(--iznm-text-muted);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: var(--iznm-font-medium);
    margin: 0 0 var(--iznm-space-4);
    font-family: var(--iznm-font-ja);
}
.iznm-home-timeline__empty {
    text-align: center;
    padding: var(--iznm-space-6) 0;
    color: var(--iznm-text-muted);
    font-size: var(--iznm-text-sm);
    line-height: 1.8;
}
.iznm-timeline-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--iznm-space-2);
}
.iznm-timeline-item {
    background: var(--iznm-bg-raised);
    border: 1px solid var(--iznm-border-dark);
    border-radius: var(--iznm-radius-md);
    overflow: hidden;
    transition: border-color var(--iznm-transition-normal);
}
.iznm-timeline-item:hover {
    border-color: var(--iznm-border-light);
}
.iznm-timeline-item__link {
    display: flex;
    align-items: flex-start;
    gap: var(--iznm-space-3);
    padding: var(--iznm-space-4);
    text-decoration: none;
    color: var(--iznm-text-main);
}
.iznm-timeline-item__icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    color: var(--iznm-text-muted);
    margin-top: 2px;
}
.iznm-timeline-item__icon svg {
    width: 24px;
    height: 24px;
    display: block;
}
.iznm-timeline-item__content {
    flex: 1;
    min-width: 0;
}
.iznm-timeline-item__label {
    display: block;
    font-size: var(--iznm-text-xs);
    color: var(--iznm-text-muted);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 4px;
}
.iznm-timeline-item__name {
    display: block;
    font-size: var(--iznm-text-sm);
    font-weight: var(--iznm-font-medium);
    color: var(--iznm-text-main);
    margin-bottom: 4px;
}
.iznm-timeline-item__body {
    font-size: var(--iznm-text-sm);
    color: var(--iznm-text-sub);
    line-height: 1.6;
    margin: 0 0 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.iznm-timeline-item__time {
    font-size: var(--iznm-text-xs);
    color: var(--iznm-text-muted);
}
/* Promotion banner */
.iznm-timeline-item--promotion {
    background: transparent;
    border: none;
}
.iznm-timeline-banner {
    display: block;
    border-radius: var(--iznm-radius-md);
    overflow: hidden;
}
.iznm-timeline-banner img {
    width: 100%;
    height: auto;
    max-height: 100px;
    object-fit: cover;
    display: block;
}
/* Load more button */
.iznm-load-more-btn {
    display: block;
    width: 100%;
    padding: var(--iznm-space-4);
    margin-top: var(--iznm-space-4);
    background: var(--iznm-btn-bg);
    border: var(--iznm-btn-border);
    border-radius: var(--iznm-btn-radius);
    color: var(--iznm-btn-text);
    font-size: var(--iznm-text-sm);
    font-family: var(--iznm-font-ja);
    letter-spacing: var(--iznm-tracking-wider);
    cursor: pointer;
    transition: background var(--iznm-transition-normal);
    text-decoration: none;
}
.iznm-load-more-btn:hover {
    background: var(--iznm-btn-bg-hover);
}
/* Type-specific icon colors */
.iznm-timeline-item--people .iznm-timeline-item__icon { color: var(--iznm-blue); }
.iznm-timeline-item--spot .iznm-timeline-item__icon { color: var(--iznm-gold); }
.iznm-timeline-item--event .iznm-timeline-item__icon { color: var(--iznm-gold); }
.iznm-timeline-item--brand .iznm-timeline-item__icon { color: var(--iznm-gold); }
.iznm-timeline-item--group_post .iznm-timeline-item__icon { color: var(--iznm-text-sub); }
.iznm-timeline-item--target_post .iznm-timeline-item__icon { color: var(--iznm-text-sub); }
/* === Phase 4.5: HOME タイムライン 終了 === */

/* ============================================================
   Phase 4.5: GROUP 一覧ページ + 招待 UI（No.124）
   ============================================================ */
.iznm-groups-list-page {
    padding-bottom: var(--iznm-space-20);
}
.iznm-groups-list-title {
    /* font-size: Moved to iznm-components.css */
    letter-spacing: var(--iznm-tracking-caption);
    text-transform: uppercase;
    color: var(--iznm-text-muted);
    margin-bottom: var(--iznm-space-6);
    padding-bottom: var(--iznm-space-3);
    border-bottom: 1px solid var(--iznm-border-dark);
}
.iznm-groups-empty {
    padding: var(--iznm-space-8) var(--iznm-space-4);
    text-align: center;
    background: var(--iznm-bg-raised);
    border: 1px solid var(--iznm-border-dark);
    margin-bottom: var(--iznm-space-6);
}
.iznm-groups-empty p {
    font-size: var(--iznm-text-xs);
    color: var(--iznm-text-sub);
    margin-bottom: var(--iznm-space-4);
}
.iznm-groups-list {
    list-style: none;
    margin: 0 0 var(--iznm-space-8);
    padding: 0;
}
.iznm-groups-list-item {
    border-bottom: 1px solid var(--iznm-border-dark);
}
.iznm-groups-list-item a {
    display: flex;
    gap: var(--iznm-space-3);
    padding: 14px 0;  /* 14px: 例外・space grid 外 */
    text-decoration: none;
    color: var(--iznm-text-main);
    align-items: center;
}
.iznm-groups-list-icon,
.iznm-groups-list-icon-placeholder {
    width: var(--iznm-space-12);
    height: var(--iznm-space-12);
    border-radius: var(--iznm-radius-lg);
    object-fit: cover;
    flex-shrink: 0;
    background: var(--iznm-bg-raised);
    border: 1px solid var(--iznm-border-dark);
}
.iznm-groups-list-meta {
    flex: 1;
    min-width: 0;
}
.iznm-groups-list-name {
    font-size: 14px;  /* 例外: トークン外サイズ */
    font-weight: var(--iznm-font-bold);
    letter-spacing: 0.04em;  /* 例外: トークン外 */
    color: var(--iznm-text-main);
    margin-bottom: var(--iznm-space-1);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.iznm-groups-list-stats {
    /* font-size: Moved to iznm-components.css */
    color: var(--iznm-text-muted);
    letter-spacing: var(--iznm-tracking-wide);
}
.iznm-groups-list-cta {
    text-align: center;
    margin-top: var(--iznm-space-6);
}

/* ============================================================
   Phase 4-D: GROUP 一覧ページ MY/OPEN 統合
   ============================================================ */

/* セクション区切り */
.iznm-groups-section {
    margin-bottom: var(--iznm-space-10);
}
.iznm-groups-subsection-title {
    /* font-size: Moved to iznm-components.css */
    font-weight: var(--iznm-font-medium);
    letter-spacing: var(--iznm-tracking-button);
    color: var(--iznm-text-sub);
    margin: var(--iznm-space-5) 0 var(--iznm-space-3);
}
.iznm-groups-section-empty {
    /* font-size: Moved to iznm-components.css */
    color: var(--iznm-text-muted);
    padding: var(--iznm-space-4) 0;
    text-align: center;
}

/* MY GROUP / OPEN GROUP カードのバッジ群コンテナ */
.iznm-groups-list-badges {
    display: flex;
    flex-wrap: wrap;
    gap: var(--iznm-space-2);
    margin: var(--iznm-space-1) 0;
    align-items: center;
}

/* Phase 4-E: MY GROUP カード未読バッジ */
.iznm-groups-list-unread-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: var(--iznm-red);
    color: var(--iznm-color-on-red);
    font-size: 10px;  /* 例外: トークン外サイズ */
    font-weight: var(--iznm-font-bold);
    border-radius: var(--iznm-radius-pill);
}
.iznm-groups-list-unread-badge[hidden] { display: none; }

/* OPEN GROUP カードの linked_target 名表示 */
.iznm-groups-list-linked {
    display: inline-block;
    font-size: var(--iznm-text-xs);
    color: var(--iznm-text-sub);
    letter-spacing: 0.04em;
}

.iznm-group-invite-section {
    margin: var(--iznm-space-8) 0;
    padding: var(--iznm-space-5);
    background: var(--iznm-bg-surface);
    border: 1px solid var(--iznm-border-dark);
}
.iznm-invite-method {
    margin-bottom: var(--iznm-space-5);
}
.iznm-invite-method:last-child {
    margin-bottom: 0;
}
.iznm-invite-method label {
    display: block;
    font-size: 10px;  /* 例外: トークン外サイズ */
    letter-spacing: var(--iznm-tracking-button);
    color: var(--iznm-text-muted);
    text-transform: uppercase;
    margin-bottom: var(--iznm-space-2);
}
.iznm-invite-url-wrap {
    display: flex;
    gap: 8px;
}
.iznm-invite-url-wrap input {
    flex: 1;
    background: var(--iznm-bg-raised);
    border: 1px solid var(--iznm-border-dark);
    color: var(--iznm-text-main);
    padding: 10px 12px;
    font-size: var(--iznm-text-xs);
    box-sizing: border-box;
}
.iznm-copy-btn {
    padding: 10px var(--iznm-space-4);  /* 10px: 例外・space grid 外 */
    background: var(--iznm-btn-bg);
    color: var(--iznm-btn-text);
    border: var(--iznm-btn-border);
    border-radius: var(--iznm-btn-radius);
    font-size: 12px;  /* 例外: トークン外サイズ */
    font-weight: var(--iznm-font-bold);
    cursor: pointer;
    white-space: nowrap;
    text-decoration: none;
}
.iznm-invite-sns-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: var(--iznm-space-2);
}
.iznm-sns-btn {
    flex: 1 1 auto;
    min-width: 60px;
    text-align: center;
    padding: 10px var(--iznm-space-2);  /* 10px: 例外・space grid 外 */
    font-size: 11px;  /* 例外: トークン外サイズ */
    font-weight: var(--iznm-font-bold);
    letter-spacing: var(--iznm-tracking-wider);
    text-decoration: none;
    color: var(--iznm-btn-text);
    background: var(--iznm-btn-bg);
    border: var(--iznm-btn-border);
    border-radius: var(--iznm-btn-radius);
    cursor: pointer;
    transition: background var(--iznm-transition-fast);
}
.iznm-sns-btn:hover { background: var(--iznm-btn-bg-hover); }
.iznm-sns-line  { background: var(--iznm-btn-bg); color: var(--iznm-btn-text); border: var(--iznm-btn-border); }
.iznm-sns-x     { background: var(--iznm-btn-bg); color: var(--iznm-btn-text); border: var(--iznm-btn-border); }
.iznm-sns-fb    { background: var(--iznm-btn-bg); color: var(--iznm-btn-text); border: var(--iznm-btn-border); }
.iznm-sns-wa    { background: var(--iznm-btn-bg); color: var(--iznm-btn-text); border: var(--iznm-btn-border); }
.iznm-sns-native{ background: var(--iznm-btn-bg); color: var(--iznm-btn-text); border: var(--iznm-btn-border); }
.iznm-invite-email-form input[type="email"],
.iznm-invite-email-form textarea {
    width: 100%;
    background: var(--iznm-bg-raised);
    border: 1px solid rgba(255,255,255,.1);
    color: var(--iznm-text-main);
    font-size: 14px;  /* 例外: トークン外サイズ */
    padding: 10px var(--iznm-space-3);  /* 10px: 例外・space grid 外 */
    box-sizing: border-box;
    outline: none;
    margin-bottom: var(--iznm-space-2);
}
.iznm-invite-email-form textarea {
    resize: vertical;
    line-height: 1.6;
}
.iznm-invite-email-form input:focus,
.iznm-invite-email-form textarea:focus {
    border-color: rgba(255,255,255,.25);
}
.iznm-invite-msg-success {
    margin-top: var(--iznm-space-2);
    font-size: 12px;  /* 例外: トークン外サイズ */
    color: var(--iznm-green, #4caf50);
}
.iznm-invite-msg-error {
    margin-top: var(--iznm-space-2);
    font-size: 12px;  /* 例外: トークン外サイズ */
    color: var(--iznm-red);
}
/* === Phase 4.5: GROUP 一覧ページ + 招待 UI 終了 === */

/* === Phase 4.5 v2: GROUP 修正追加 CSS === */
.iznm-group-post-actions,
.iznm-group-comment-actions {
    display: flex;
    gap: 8px;
    margin-top: 6px;
    font-size: var(--iznm-text-xs);
}
.iznm-post-edit-toggle,
.iznm-post-delete-btn,
.iznm-comment-edit-toggle,
.iznm-comment-delete-btn,
.iznm-post-edit-cancel,
.iznm-comment-edit-cancel {
    background: none;
    border: none;
    color: var(--iznm-text-muted);
    cursor: pointer;
    padding: 2px 6px;
    font-size: 11px;
    letter-spacing: 0.05em;
    text-decoration: underline;
}
.iznm-post-edit-toggle:hover,
.iznm-comment-edit-toggle:hover { color: var(--iznm-text-sub); }
.iznm-post-delete-btn:hover,
.iznm-comment-delete-btn:hover { color: var(--iznm-red); }
.iznm-group-post-edit-form,
.iznm-group-comment-edit-form {
    margin-top: 8px;
}
.iznm-group-post-edit-form textarea,
.iznm-group-comment-edit-form input {
    width: 100%;
    background: var(--iznm-bg-raised);
    border: 1px solid rgba(255,255,255,.1);
    color: var(--iznm-text-main);
    font-size: var(--iznm-text-xs);
    padding: 8px 10px;
    box-sizing: border-box;
    margin-bottom: 6px;
}
/* Moved to iznm-components.css */
/* Moved to iznm-components.css */
.iznm-group-danger-zone {
    margin-top: var(--iznm-space-12);
    padding-top: var(--iznm-space-6);
    border-top: 1px solid var(--iznm-border-dark);
}
.iznm-group-post-form-sticky {
    position: sticky;
    bottom: calc(64px + env(safe-area-inset-bottom, 0px));
    background: var(--iznm-bg-deep);
    border-top: 1px solid var(--iznm-border-dark);
    padding: 12px;
    margin: 16px -16px 0;
    z-index: 10;
}
.iznm-group-post-form-sticky textarea {
    width: 100%;
    background: var(--iznm-bg-raised);
    border: 1px solid rgba(255,255,255,.1);
    color: var(--iznm-text-main);
    font-size: var(--iznm-text-sm);
    padding: 10px 12px;
    box-sizing: border-box;
    outline: none;
    line-height: 1.5;
    resize: none;
    margin-bottom: 8px;
}
.iznm-group-icon-upload {
    text-align: center;
}
.iznm-group-icon-preview {
    width: 120px;
    height: 120px;
    margin: 0 auto;
    border-radius: 8px;
    overflow: hidden;
    background: var(--iznm-bg-raised);
    border: 1px solid var(--iznm-border-dark);
    display: flex;
    align-items: center;
    justify-content: center;
}
.iznm-group-icon-preview--default img {
    width: 60%;
    height: 60%;
    object-fit: contain;
    opacity: 0.5;
}
.iznm-group-icon-preview-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.iznm-group-icon-file-input {
    display: none;
}
.iznm-group-icon-upload-btn {
    display: inline-block;
    padding: var(--iznm-space-2) var(--iznm-space-5);
    background: var(--iznm-btn-bg);
    border: var(--iznm-btn-border);
    border-radius: var(--iznm-btn-radius);
    color: var(--iznm-btn-text);
    font-size: var(--iznm-text-sm);
    letter-spacing: var(--iznm-tracking-wider);
    cursor: pointer;
    text-decoration: none;
}
.iznm-groups-list-icon--default {
    object-fit: contain !important;
    opacity: 0.5;
    background: var(--iznm-bg-raised);
}
/* === Phase 4.5 v2: GROUP 修正追加 CSS 終了 === */

/* === Phase 4.5 Fix19: インプレース編集 === */
.iznm-inline-edit-textarea {
    width: 100%;
    min-height: 60px;
    background: var(--iznm-bg-raised);
    border: 1px solid rgba(255,255,255,.2);
    color: var(--iznm-text-main);
    font-size: var(--iznm-text-xs);
    padding: 8px 10px;
    box-sizing: border-box;
    line-height: 1.5;
    resize: vertical;
    margin-bottom: 6px;
}
.iznm-inline-edit-actions {
    display: flex;
    gap: 8px;
}
.iznm-inline-save,
.iznm-inline-save-comment {
    padding: 4px 12px;
    background: var(--iznm-text-main);
    color: var(--iznm-black);
    border: none;
    font-size: 11px;  /* 例外: トークン外サイズ */
    font-weight: var(--iznm-font-bold);
    cursor: pointer;
}
.iznm-inline-cancel,
.iznm-inline-cancel-comment {
    padding: 4px 12px;
    background: none;
    border: 1px solid var(--iznm-border-dark);
    color: var(--iznm-text-muted);
    font-size: 11px;
    cursor: pointer;
}
/* === Phase 4.5 Fix19 終了 === */

/* === Phase 4.5 Fix20: 投稿/コメント アバター === */
.iznm-group-post-header {
    display: flex;
    align-items: center;
    gap: 8px;
}
.iznm-group-post-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 1px solid var(--iznm-border-dark);
}
.iznm-group-comment {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}
.iznm-group-comment-avatar {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 1px solid var(--iznm-border-dark);
    margin-top: 2px;
}
.iznm-group-comment-inner {
    flex: 1;
    min-width: 0;
}
/* === Phase 4.5 Fix20 終了 === */

/* === Phase 4.5 Fix15/18/27: CIRCLEアイコン アップロード UI === */
.iznm-icon-upload-field { margin-bottom: 16px; }
.iznm-icon-preview-area {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 8px 0;
}
.iznm-icon-preview {
    width: 120px;
    height: 120px;
    border-radius: 8px;
    object-fit: cover;
    border: 1px solid var(--iznm-border-dark);
}
.iznm-icon-preview--empty {
    width: 120px;
    height: 120px;
    border-radius: 8px;
    border: 2px dashed var(--iznm-border-dark);
    background: var(--iznm-bg-dark);
}
.iznm-icon-delete-btn {
    background: none;
    border: 1px solid var(--iznm-red, #c00);
    color: var(--iznm-red, #c00);
    padding: 4px 12px;
    border-radius: var(--iznm-radius-md);
    font-size: var(--iznm-text-sm);
    cursor: pointer;
}
.iznm-icon-delete-btn:hover {
    background: var(--iznm-red, #c00);
    color: #fff;
}
.iznm-icon-upload-btn {
    display: inline-block;
    padding: 6px 16px;
    border: var(--iznm-btn-border);
    border-radius: var(--iznm-btn-radius);
    font-size: var(--iznm-text-sm);
    cursor: pointer;
    color: var(--iznm-btn-text);
    background: var(--iznm-btn-bg);
    text-decoration: none;
}
.iznm-icon-upload-btn:hover {
    background: var(--iznm-btn-bg-hover);
}
/* === Phase 4.5 Fix15/18/27 終了 === */

/* === Phase 4.5 Fix16/24: INVITE モーダル === */
.iznm-modal-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.6);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}
.iznm-modal-content {
    background: var(--iznm-bg, #1a1a1a);
    border: 1px solid var(--iznm-border-dark);
    border-radius: 12px;
    padding: 24px;
    max-width: 480px;
    width: 100%;
    max-height: 80vh;
    overflow-y: auto;
    position: relative;
}
.iznm-modal-close {
    position: absolute;
    top: 12px;
    right: 16px;
    background: none;
    border: none;
    color: var(--iznm-text-sub);
    font-size: 24px;
    cursor: pointer;
    line-height: 1;
}
.iznm-modal-close:hover {
    color: var(--iznm-text);
}
/* === Phase 4.5 Fix16/24 終了 === */

/* === Phase 4.5 Fix17b/25: CONNECT PEOPLE 招待（モーダル内統合） === */
.iznm-ep-invite-desc {
    font-size: 13px;
    color: var(--iznm-text-sub);
    margin-bottom: 12px;
}
.iznm-ep-invite-list {
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
    max-height: 300px;
    overflow-y: auto;
}
.iznm-ep-invite-item {
    padding: 8px 0;
    border-bottom: 1px solid var(--iznm-border-dark);
}
.iznm-ep-invite-item label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}
.iznm-ep-invite-item.iznm-ep-already {
    opacity: 0.5;
}
.iznm-ep-already-badge {
    /* font-size: Moved to iznm-components.css */
    color: var(--iznm-text-sub);
    border: 1px solid var(--iznm-border-dark);
    border-radius: 3px;
    padding: 1px 6px;
    margin-left: auto;
}
/* === Phase 4.5 Fix17b/25 終了 === */

/* === Phase 4.5 Fix26: 保存メッセージ with リンク === */
.iznm-group-notice--saved {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}
.iznm-notice-link {
    color: var(--iznm-accent, #b8860b);
    font-size: 13px;
    text-decoration: none;
    white-space: nowrap;
}
.iznm-notice-link:hover {
    text-decoration: underline;
}
/* === Phase 4.5 Fix26 終了 === */

/* === Phase 4.5-A v2 (Fix33-36): GROUP UI 微調整 === */

/* Fix33+34: MEMBERS 下部の招待トリガー（「設定→」スタイル準拠） */
.iznm-invite-trigger-link-wrap {
    margin-top: 16px;
    text-align: right;
}
.iznm-invite-trigger-link {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-family: var(--iznm-font-ja);
    font-size: 11px;
    color: var(--iznm-text-muted);
    text-decoration: underline;
    letter-spacing: 0.1em;
    transition: color var(--iznm-transition-fast);
}
.iznm-invite-trigger-link:hover {
    color: var(--iznm-text-sub);
}

/* Fix34: INVITE モーダル内「つながりから招待」セクション */
.iznm-invite-people {
    margin-top: var(--iznm-space-5);
    padding-top: var(--iznm-space-5);
    border-top: 1px solid var(--iznm-border-dark);
}
.iznm-ep-invite-empty {
    /* font-size: Moved to iznm-components.css */
    color: var(--iznm-text-muted);
    margin: 8px 0 0;
}

/* Fix35: 投稿フォーム sticky の下パディング削除 */
.iznm-group-post-form-sticky {
    padding-top: var(--iznm-space-3);
    padding-right: var(--iznm-space-3);
    padding-left: 12px;
    padding-bottom: 0;
}

/* Fix36: 投稿者ヘッダを完全左寄せ */
.iznm-group-post-header {
    justify-content: flex-start;
}
.iznm-group-post-date {
    margin-left: auto;
}

/* === Phase 4.5-A v2 (Fix33-36): GROUP UI 微調整 終了 === */

/* === Phase 4.5-A v3 (Fix37-38): GROUP UI 追加修正 === */

/* Fix38: 投稿フォーム sticky 内の form 下マージン完全除去（B案・sticky維持） */
.iznm-group-post-form-sticky .iznm-group-post-form {
    margin-bottom: 0;
}

/* === Phase 4.5-A v3 (Fix37-38): GROUP UI 追加修正 終了 === */

/* === Phase 4.5-A v4 (Fix40): /group-join/ 選択画面・参加確認画面 === */

/* ステップ1: 選択画面 */
.iznm-group-join-choice {
    margin-top: 32px;
    padding: 24px;
    background: var(--iznm-bg-raised);
    border: 1px solid var(--iznm-border-dark);
    text-align: center;
}
.iznm-group-join-lead {
    font-size: 13px;
    color: var(--iznm-text-sub);
    line-height: 1.7;
    margin: 0 0 16px;
}
.iznm-group-join-question {
    font-size: 14px;  /* 例外: トークン外サイズ */
    font-weight: var(--iznm-font-bold);
    color: var(--iznm-text-main);
    letter-spacing: 0.04em;  /* 例外: トークン外 */
    margin: 0 0 var(--iznm-space-5);
}
.iznm-group-join-choice-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.iznm-group-join-choice-primary,
.iznm-group-join-choice-secondary {
    display: block;
    width: 100%;
    text-align: center;
    padding: 14px 16px;
    box-sizing: border-box;
    text-decoration: none;
}

/* ステップ2: ゲストフォーム「戻る」リンク */
.iznm-group-join-back {
    text-align: center;
    margin-top: 16px;
    font-size: 12px;
}
.iznm-group-join-back a {
    color: var(--iznm-text-muted);
    text-decoration: underline;
    letter-spacing: 0.08em;
}
.iznm-group-join-back a:hover {
    color: var(--iznm-text-sub);
}

/* ステップ3: 参加確認画面 */
.iznm-group-join-confirm {
    margin-top: 24px;
}
.iznm-group-join-meta {
    margin: 0 0 28px;
    padding: 16px 20px;
    background: var(--iznm-bg-raised);
    border: 1px solid var(--iznm-border-dark);
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 8px 16px;
}
.iznm-group-join-meta dt {
    /* font-size: Moved to iznm-components.css */
    letter-spacing: 0.15em;
    color: var(--iznm-text-muted);
    text-transform: uppercase;
}
.iznm-group-join-meta dd {
    font-size: 13px;
    color: var(--iznm-text-main);
    margin: 0;
}
.iznm-group-join-actions {
    display: flex;
    gap: 12px;
}
.iznm-group-join-yes,
.iznm-group-join-no {
    flex: 1 1 0;
    text-align: center;
    padding: 14px 16px;
    box-sizing: border-box;
}
.iznm-group-join-no {
    text-decoration: none;
    line-height: 1.4;
}

/* Moved to iznm-components.css */

/* === Phase 4.5-A v4 (Fix40): /group-join/ 選択画面・参加確認画面 終了 === */

/* === Phase 4.5-A v4 (Fix40-add): L-7 INVITE URL コピーボタンはみ出し修正 === */
.iznm-invite-url-wrap input {
    min-width: 0;
}
.iznm-copy-btn {
    flex-shrink: 0;
    min-width: 64px;
}
/* === Phase 4.5-A v4 (Fix40-add): L-7 終了 === */

/* === Phase 4.5-A v4 (Fix40-add): L-5 INVITE モーダル QR === */
.iznm-invite-qr-wrap {
    text-align: center;
    padding: 16px 0;
}
.iznm-invite-qr-img {
    width: 200px;
    height: 200px;
    background: #ffffff;
    padding: 8px;
    border-radius: 4px;
    display: inline-block;
}
.iznm-invite-qr-hint {
    /* font-size: Moved to iznm-components.css */
    color: var(--iznm-text-muted);
    letter-spacing: 0.08em;
    margin: 8px 0 0;
}
/* === Phase 4.5-A v4 (Fix40-add): L-5 終了 === */

/* === Phase 4.5-A v4 (Fix40-add): L-6 仮パスバナー === */
.iznm-temp-pw-banner {
    background: #4a3c1f;
    color: #f5e0a3;
    padding: 10px 16px;
    text-align: center;
    font-size: 12px;
    letter-spacing: 0.04em;
    line-height: 1.6;
    border-bottom: 1px solid rgba(245, 224, 163, .2);
}
.iznm-temp-pw-banner a {
    color: #ffd97a;
    text-decoration: underline;
    margin-left: 8px;
}
.iznm-temp-pw-banner a:hover {
    color: #ffffff;
}
/* === Phase 4.5-A v4 (Fix40-add): L-6 終了 === */

/* === Phase 4.5-A v4 (Fix40-add): L-9/L-10 メンバー削除/退室リンク === */
.iznm-group-member-item .iznm-group-member-remove-form,
.iznm-group-member-item .iznm-group-member-leave-form {
    margin: 0 0 0 auto;
    display: inline-block;
}
.iznm-group-member-remove-link,
.iznm-group-member-leave-link {
    background: none;
    border: none;
    color: var(--iznm-text-muted);
    font-size: 11px;
    letter-spacing: 0.08em;
    cursor: pointer;
    padding: 4px 8px;
    text-decoration: underline;
}
.iznm-group-member-remove-link:hover {
    color: var(--iznm-red, #c0392b);
}
.iznm-group-member-leave-link:hover {
    color: var(--iznm-text-sub);
}
/* === Phase 4.5-A v4 (Fix40-add): L-9/L-10 終了 === */


/* === Phase 4.6-D C-4: CONNECT 完了画面 === */
.iznm-etched-completion {
    text-align: center;
    padding: 24px 0;
    margin-bottom: 24px;
    border-bottom: 1px solid var(--iznm-border-dark);
}
.iznm-etched-check {
    font-size: 32px;
    color: var(--iznm-green, #00b87a);
    margin-bottom: 8px;
}
.iznm-etched-headline {
    font-size: 16px;  /* 例外: トークン外サイズ */
    font-weight: var(--iznm-font-bold);
    color: var(--iznm-text-main);
    letter-spacing: var(--iznm-tracking-body);
    margin: 0 0 var(--iznm-space-1);
}
.iznm-etched-datetime {
    /* font-size: Moved to iznm-components.css */
    color: var(--iznm-text-muted);
    letter-spacing: 0.08em;
    margin: 0 0 20px;
}
.iznm-etched-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 300px;
    margin: 0 auto;
}
/* === Phase 4.6-D C-4 終了 === */

/* === Phase 4.6-D C-1: CONNECT フォーム === */
.iznm-etch-cta-lead {
    font-size: 14px;
    color: var(--iznm-text-main);
    line-height: 1.7;
    margin: 0 0 16px;
    text-align: center;
}
.iznm-register-form-etch {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.iznm-etch-input {
    background: var(--iznm-bg-raised);
    border: 1px solid var(--iznm-border-dark);
    color: var(--iznm-text-main);
    padding: 10px 12px;
    font-size: 13px;
    box-sizing: border-box;
    outline: none;
}
.iznm-etch-already {
    text-align: center;
    font-size: 12px;
    color: var(--iznm-text-muted);
    margin-top: 12px;
}
.iznm-etch-already a {
    color: var(--iznm-text-sub);
    text-decoration: underline;
}
/* === Phase 4.6-D C-1 終了 === */

/* === Phase 4.6-D B-1: LP FV 3要素配置 === */
/* === Phase 4.6-D B-1 終了 === */

/* === Phase 4.6-D B-2/B-3: /register/ + ウェルカム === */
.iznm-register-page {
    
    margin-top: var(--iznm-space-10);
}
.iznm-register-title {
    font-size: var(--iznm-text-base);
    color: var(--iznm-text-main);
    letter-spacing: var(--iznm-tracking-body);
    margin: 0 0 var(--iznm-space-2);
    text-align: center;
}
.iznm-register-lead {
    font-size: var(--iznm-text-xs);
    color: var(--iznm-text-sub);
    line-height: 1.7;
    margin: 0 0 var(--iznm-space-6);
    text-align: center;
}
.iznm-register-form {
    display: flex;
    flex-direction: column;
    gap: var(--iznm-space-4);
}
.iznm-register-already {
    text-align: center;
    font-size: 12px;  /* 例外: トークン外サイズ */
    color: var(--iznm-text-muted);
    margin-top: var(--iznm-space-4);
}
.iznm-register-already a {
    color: var(--iznm-text-sub);
    text-decoration: underline;
}
.iznm-welcome-card {
    text-align: center;
    padding: 32px 0;
    margin-bottom: 24px;
    border-bottom: 1px solid var(--iznm-border-dark);
}
.iznm-welcome-check {
    font-size: 32px;
    color: var(--iznm-green, #00b87a);
    margin-bottom: 8px;
}
.iznm-welcome-title {
    font-size: 16px;
    color: var(--iznm-text-main);
    letter-spacing: 0.04em;
    margin: 0 0 4px;
}
.iznm-welcome-lead {
    font-size: 13px;
    color: var(--iznm-text-sub);
    margin: 0 0 20px;
}
.iznm-welcome-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 300px;
    margin: 0 auto;
}
/* === Phase 4.6-D B-2/B-3 終了 === */

/* === Phase 4.6-D D-4: GROUP 完了画面 === */
.iznm-group-joined-completion {
    text-align: center;
    padding: 24px 0;
    margin-bottom: 24px;
    border-bottom: 1px solid var(--iznm-border-dark);
}
/* === Phase 4.6-D D-4 終了 === */

/* === Phase 4.6-D F-1/F-2/F-3: アップセル CTA === */
.iznm-upsell-banner-account {
    background: linear-gradient(135deg, #2a1f0a 0%, #1a1a1a 100%);
    border: 1px solid rgba(212,165,116,.3);
    padding: 14px 18px;
    margin: 0 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.iznm-upsell-banner-text strong {
    color: #d4a574;
    font-size: 14px;
    letter-spacing: 0.04em;
}
.iznm-upsell-banner-text span {
    display: block;
    color: var(--iznm-text-sub);
    font-size: 11px;
    margin-top: 4px;
}
.iznm-upsell-cta {
    background: #d4a574;
    color: var(--iznm-bg-deep);
    text-decoration: none;
    padding: 10px var(--iznm-space-4);  /* 10px: 例外・space grid 外 */
    font-size: 12px;  /* 例外: トークン外サイズ */
    font-weight: var(--iznm-font-bold);
    letter-spacing: var(--iznm-tracking-wider);
    white-space: nowrap;
    flex-shrink: 0;
}
.iznm-plan-upgrade-btn {
    display: inline-block;
    background: var(--iznm-btn-bg);
    color: var(--iznm-btn-text) !important;
    padding: 10px 18px;  /* 10px/18px: 例外・space grid 外 */
    font-size: var(--iznm-text-xs);
    font-weight: var(--iznm-font-bold);
    letter-spacing: var(--iznm-tracking-wider);
    border: var(--iznm-btn-border);
    border-radius: var(--iznm-btn-radius);
    text-decoration: none !important;
    margin-top: var(--iznm-space-3);
}
.iznm-id-upsell-cta {
    margin: 24px 0;
    text-align: center;
}
.iznm-id-upsell-note {
    /* font-size: Moved to iznm-components.css */
    color: var(--iznm-text-muted);
    margin: 8px 0 0;
    letter-spacing: 0.04em;
}
/* === Phase 4.6-D F-1/F-2/F-3 終了 === */

/* MVP-1-32: 「会った回数」バッジ（有料ファントム表示） */
.iznm-connect-count {
  /* font-size: Moved to iznm-components.css */
  color: var(--iznm-gold, #d4a574);
  letter-spacing: 0.04em;
  margin-left: 8px;
}

/* === MVP-1-15: FOUNDER 開始ページ Mission チェックリスト === */
.iznm-founder-welcome-card {
    margin: 24px 0;
    padding: 28px 24px;
    background: linear-gradient(180deg, rgba(212,165,116,.06) 0%, rgba(255,255,255,0) 60%), var(--iznm-bg-raised, #1f1f1f);
    border: 1px solid var(--iznm-border-dark, #333);
    border-left: 3px solid var(--iznm-gold, #d4a574);
}
.iznm-founder-welcome-header { text-align: center; margin-bottom: 24px; }
.iznm-founder-welcome-emblem {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border: 1px solid var(--iznm-gold, #d4a574);
    border-radius: 2px;
    font-size: 11px;
    letter-spacing: 0.18em;
    color: var(--iznm-gold, #d4a574);
    margin-bottom: 14px;
}
.iznm-founder-welcome-emblem .iznm-founder-slash-img { width: 14px; height: 14px; }
.iznm-founder-welcome-title {
    font-size: 17px;
    color: var(--iznm-text-main, #eee);
    letter-spacing: 0.06em;
    margin: 0 0 8px;
    font-weight: var(--iznm-font-medium);
}
.iznm-founder-welcome-lead {
    font-size: 13px;
    color: var(--iznm-text-sub, #aaa);
    line-height: 1.8;
    margin: 0;
}
.iznm-founder-mission-list {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.iznm-founder-mission-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 16px;
    background: rgba(255,255,255,.02);
    border: 1px solid var(--iznm-border-dark, #333);
    transition: opacity .2s, border-color .2s;
}
.iznm-founder-mission-item.achieved {
    border-color: rgba(0,184,122,.3);
    opacity: 0.85;
}
.iznm-founder-mission-item.pending {
    border-color: var(--iznm-border-dark, #333);
}
.iznm-founder-mission-check {
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    line-height: 1;
}
.iznm-founder-mission-item.achieved .iznm-founder-mission-check {
    background: var(--iznm-green, #00b87a);
    color: #1a1a1a;
}
.iznm-founder-mission-item.pending .iznm-founder-mission-check {
    background: transparent;
    border: 1px solid var(--iznm-text-muted, #666);
    color: var(--iznm-text-muted, #666);
}
.iznm-founder-mission-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
}
.iznm-founder-mission-title {
    font-size: 14px;
    color: var(--iznm-text-main, #eee);
    letter-spacing: 0.04em;
}
.iznm-founder-mission-item.achieved .iznm-founder-mission-title {
    text-decoration: line-through;
    text-decoration-color: rgba(255,255,255,.2);
    color: var(--iznm-text-sub, #aaa);
}
.iznm-founder-mission-desc {
    /* font-size: Moved to iznm-components.css */
    color: var(--iznm-text-sub, #aaa);
    line-height: 1.6;
}
.iznm-founder-mission-cta {
    display: inline-block;
    margin-top: 4px;
    font-size: 11px;
    letter-spacing: 0.1em;
    color: var(--iznm-gold, #d4a574);
    text-decoration: none;
    border-bottom: 1px solid rgba(212,165,116,.4);
    padding-bottom: 1px;
    width: fit-content;
}
.iznm-founder-mission-cta:hover {
    color: #e8c39a;
    border-bottom-color: rgba(212,165,116,.8);
}
.iznm-founder-welcome-footer {
    text-align: center;
    font-size: 12px;
    color: var(--iznm-text-muted, #666);
    letter-spacing: 0.04em;
    margin: 0;
    padding-top: var(--iznm-space-4);
    border-top: 1px solid var(--iznm-border-dark, #333);
}
@media (max-width: 480px) {
    .iznm-founder-welcome-card { padding: 20px 16px; }
    .iznm-founder-welcome-title { font-size: 15px; }
    .iznm-founder-mission-item { padding: 12px 14px; gap: 10px; }
}
/* === MVP-1-15 終了 === */

/* === MVP-1-33: 30 日ロック表示 削除済（010 ゲート規範化バンドル・2026-06-04） === */

/* MVP-1-37 CIRCLE Coming Soon 孤児 CSS 8 クラス削除済み（BOARD-MIGRATION-CSS-1・2026-06-13） */

/* === MVP-1-35: HUB 告知投稿セクション === */
.iznm-hub-notice-section {
  background: var(--iznm-bg-elevated, #1a1a1a);
  border: 1px solid var(--iznm-border-dark);
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 24px;
}
.iznm-hub-notice-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.iznm-hub-notice-title {
  font-size: 13px;
  letter-spacing: 0.1em;
  color: var(--iznm-text-muted);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.iznm-hub-notice-unread-badge {
  background: var(--iznm-red, #e74c3c);
  color: #fff;
  font-size: 10px;
  padding: 2px 8px;
  border-radius: 10px;
}
.iznm-hub-notice-list { list-style: none; margin: 0; padding: 0; }
.iznm-hub-notice-item {
  display: flex;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--iznm-border-dark);
  cursor: pointer;
  position: relative;
  transition: background 0.15s ease;
}
.iznm-hub-notice-item:last-child { border-bottom: none; }
.iznm-hub-notice-item:hover { background: rgba(255,255,255,0.02); }
.iznm-hub-notice-item.iznm-hub-notice-collapsed { display: none; }
.iznm-hub-notice-icon {
  width: 36px; height: 36px;
  border-radius: 6px; object-fit: cover; flex-shrink: 0;
}
.iznm-hub-notice-badge {
  width: 36px; height: 36px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 9px;
  background: var(--iznm-bg);
  border: 1px solid var(--iznm-border-dark);
  border-radius: 6px;
  flex-shrink: 0;
}
.iznm-hub-notice-body { flex: 1; min-width: 0; }
.iznm-hub-notice-meta {
  display: flex; justify-content: space-between;
  font-size: 11px; margin-bottom: 4px;
}
.iznm-hub-notice-name { color: var(--iznm-text-main); font-weight: var(--iznm-font-bold); }
.iznm-hub-notice-time { color: var(--iznm-text-muted); }
.iznm-hub-notice-excerpt {
  /* font-size: Moved to iznm-components.css */ color: var(--iznm-text-muted);
  margin: 0; line-height: 1.5;
  display: -webkit-box; -webkit-line-clamp: 3;
  -webkit-box-orient: vertical; overflow: hidden;
}
.iznm-notice-unread-dot {
  position: absolute; left: -2px; top: 14px;
  color: var(--iznm-red, #e74c3c); font-size: 10px;
}
.iznm-hub-notice-show-more {
  display: block; width: 100%; margin-top: 12px; padding: 8px;
  background: transparent; border: 1px solid var(--iznm-border-dark);
  color: var(--iznm-text-muted); border-radius: 6px; font-size: 12px; cursor: pointer;
}
.iznm-hub-notice-show-more:hover { color: var(--iznm-text-main); }
.iznm-hub-notice-modal { position: fixed; inset: 0; z-index: 9999; }
.iznm-hub-notice-modal-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.7); }
.iznm-hub-notice-modal-content {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  background: var(--iznm-bg-elevated, #1a1a1a);
  border: 1px solid var(--iznm-border-dark);
  border-radius: 8px; padding: 24px;
  max-width: 480px; width: 90%; max-height: 80vh; overflow-y: auto;
}
.iznm-hub-notice-modal-close {
  position: absolute; top: 12px; right: 12px;
  background: transparent; border: none;
  color: var(--iznm-text-muted); font-size: 24px; cursor: pointer;
}
.iznm-hub-notice-modal-header { margin-bottom: 16px; }
.iznm-hub-notice-modal-name { margin: 0 0 4px; color: var(--iznm-text-main); }
.iznm-hub-notice-modal-time { font-size: 11px; color: var(--iznm-text-muted); }
.iznm-hub-notice-modal-text { white-space: pre-wrap; line-height: var(--iznm-leading-normal); margin-bottom: var(--iznm-space-5); color: var(--iznm-text-sub); }
.iznm-hub-notice-modal-link {
  display: inline-block; color: var(--iznm-gold);
  text-decoration: none; font-size: var(--iznm-text-xs); letter-spacing: var(--iznm-tracking-wide);
}
/* === MVP-1-35 終了 === */

/* === MVP-4-A-1a: Visitor モーダル CSS 削除済（010 方式②・インライン CTA に一本化・2026-06-04） === */

/* ============================================================
   MVP-4-A-1a: MAP プレースホルダ
   ============================================================ */
.iznm-map-placeholder {  text-align:center; }
.iznm-map-placeholder__title { font-size:32px; font-weight:var(--iznm-font-bold); color:var(--iznm-text-main,#fff); letter-spacing:var(--iznm-tracking-wider); margin:0 0 var(--iznm-space-8); }  /* 32px: 例外・トークン外サイズ / font-weight 600→700 */
.iznm-map-placeholder__message { font-size:16px; color:var(--iznm-text-main,#fff); margin:0 0 var(--iznm-space-4); line-height:var(--iznm-leading-normal); }  /* 16px: 例外・トークン外サイズ */
.iznm-map-placeholder__note { font-size:14px; color:var(--iznm-text-muted,#aaa); margin:0; line-height:var(--iznm-leading-normal); }  /* 14px: 例外・トークン外サイズ */

/* ============================================================
   MVP-4-A-1a: TIMELINE 最小ガワ
   ============================================================ */
.iznm-timeline__promo-slider { max-width:500px; margin:0 auto; padding:var(--iznm-space-4) var(--iznm-space-3) 0; }
.iznm-timeline__promo-card { border-radius:var(--iznm-radius-lg); overflow:hidden; }
.iznm-timeline__promo-image { display:block; width:100%; }
.iznm-timeline__subtabs { max-width:500px; margin:0 auto; display:flex; border-bottom:1px solid var(--iznm-border-dark,#333); background:var(--iznm-bg-deep,#1a1a1a); position:sticky; top:0; z-index:10; }
.iznm-timeline__subtab { flex:1 1 0; background:transparent; border:none; color:var(--iznm-text-muted,#aaa); padding:14px var(--iznm-space-2); font-size:var(--iznm-text-xs); font-weight:var(--iznm-font-medium); letter-spacing:var(--iznm-tracking-wider);  /* 14px padding: 例外・space grid 外 */ cursor:pointer; border-bottom:2px solid transparent; transition:color .2s,border-color .2s; }
.iznm-timeline__subtab:hover { color:var(--iznm-text-main,#fff); }
.iznm-timeline__subtab.is-active { color:var(--iznm-text-main,#fff); border-bottom-color:var(--iznm-text-main,#fff); }
.iznm-timeline-empty-cta { max-width:400px; margin:var(--iznm-space-20) auto; padding:var(--iznm-space-8) var(--iznm-space-6); text-align:center; background:var(--iznm-bg-elevated,#222); border:1px solid var(--iznm-border-dark,#333); border-radius:var(--iznm-radius-lg); }
.iznm-timeline-empty-cta__title { font-size:var(--iznm-text-lg); font-weight:var(--iznm-font-bold); color:var(--iznm-text-main,#fff); margin:0 0 var(--iznm-space-4); letter-spacing:var(--iznm-tracking-wide); }  /* font-weight 600→700 */
.iznm-timeline-empty-cta__text { font-size:var(--iznm-text-sm); color:var(--iznm-text-main,#fff); margin:0 0 var(--iznm-space-6); line-height:1.7; }  /* 1.7: 例外・トークン外 */
.iznm-timeline-empty-cta .iznm-btn { display:inline-block; }
/* === MVP-4-A-1a 終了 === */

/* ============================================================
   MVP-4-A-1c: プロモーションスライダー（複数件・横スクロール）
   ============================================================ */
.iznm-timeline__promo-slider {
    max-width: 500px;
    margin: 0 auto;
    padding: 16px 0 8px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.iznm-timeline__promo-slider::-webkit-scrollbar { display: none; }

.iznm-timeline__promo-track {
    display: flex;
    gap: 12px;
    padding: 0 12px;
    width: max-content;
}

.iznm-timeline__promo-card {
    flex: 0 0 auto;
    width: 280px;
    border-radius: var(--iznm-radius-lg);
    overflow: hidden;
    background: var(--iznm-bg-raised);
    border: 1px solid var(--iznm-border-dark);
    transition: border-color var(--iznm-transition-normal);
    text-decoration: none;
}
.iznm-timeline__promo-card:hover {
    border-color: var(--iznm-border-light);
}

.iznm-timeline__promo-image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}
/* === MVP-4-A-1c S-1 終了 === */

/* === MVP-4-A-1c-fix-002: Leader ダッシュボードリンク統合 === */
.iznm-leader-dashboard-links {
    
    margin-top: 16px;
}
.iznm-leader-dashboard-links__title {
    font-size: var(--iznm-text-xs);
    color: var(--iznm-text-muted);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: var(--iznm-font-medium);
    margin: 0 0 var(--iznm-space-3);
    font-family: var(--iznm-font-ja);
}
/* === MVP-4-A-1c-fix-002 終了 === */

/* ============================================================
   MVP-4-A-1c: WELCOME モーダル
   ============================================================ */
.iznm-welcome-modal {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--iznm-space-6);
}
.iznm-welcome-modal__overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.7);
}
.iznm-welcome-modal__dialog {
    position: relative;
    max-width: 400px;
    width: 100%;
    padding: var(--iznm-space-10) var(--iznm-space-8);
    background: var(--iznm-bg-raised);
    border: 1px solid var(--iznm-border-dark);
    border-radius: var(--iznm-radius-xl);
    text-align: center;
}
.iznm-welcome-modal__thankyou {
    font-size: var(--iznm-text-xs);
    color: var(--iznm-gold);
    letter-spacing: var(--iznm-badge-letter-spacing);
    margin: 0 0 var(--iznm-space-4);
    text-transform: uppercase;
}
.iznm-welcome-modal__title {
    font-size: var(--iznm-text-xl);
    font-weight: var(--iznm-font-bold);
    color: var(--iznm-text-main);
    margin: 0 0 var(--iznm-space-3);
    line-height: 1.4;
}
.iznm-welcome-modal__lead {
    font-size: var(--iznm-text-sm);
    color: var(--iznm-text-sub);
    margin: 0 0 var(--iznm-space-8);
    line-height: 1.7;  /* 例外: トークン外 */
}
.iznm-welcome-modal__actions {
    display: flex;
    flex-direction: column;
    gap: var(--iznm-space-3);
    align-items: center;
}
.iznm-welcome-modal__start { width: 100%; max-width: 280px; }
.iznm-welcome-modal__later {
    background: none;
    border: none;
    color: var(--iznm-text-muted);
    font-size: var(--iznm-text-xs);
    cursor: pointer;
    padding: 8px;
    letter-spacing: 0.06em;
}
.iznm-welcome-modal__later:hover { color: var(--iznm-text-sub); }
/* === MVP-4-A-1c S-3 終了 === */

/* ============================================================
   MVP-4-A-1c: TIMELINE 会った回数表記
   ============================================================ */
.iznm-timeline-item__visit-count {
    display: inline-block;
    font-size: var(--iznm-text-xs);
    color: var(--iznm-gold);
    letter-spacing: 0.08em;
    margin-left: var(--iznm-space-2);
    font-weight: var(--iznm-font-medium);
}
/* === MVP-4-A-1c S-5 終了 === */

/* ============================================================
   MVP-4-A-2: UPDATES タイムラインエントリ
   ============================================================ */
.iznm-timeline-item--updates .iznm-timeline-item__icon { color: var(--iznm-text-sub); }
/* === MVP-4-A-2 UPDATES 終了 === */

/* ============================================================
   MVP-4-A-2: Leader 投稿セクション
   ============================================================ */
.iznm-target-post-section { margin-top: var(--iznm-space-8); padding-top: var(--iznm-space-4); border-top: 1px solid var(--iznm-border-dark, #333); }
.iznm-target-post-section h2 { font-size: var(--iznm-text-base); margin: 0 0 var(--iznm-space-3); }  /* 16px: 例外・トークン外サイズ */
.iznm-target-post-form { margin-bottom: var(--iznm-space-6); }
.iznm-target-post-form textarea { width: 100%; padding: 10px; background: var(--iznm-bg-raised, #222); border: 1px solid rgba(255,255,255,.1); color: var(--iznm-text-main, #ddd); box-sizing: border-box; resize: vertical; font-size: var(--iznm-text-sm); }
.iznm-target-post-form button { margin-top: var(--iznm-space-2); }
.iznm-target-post-flash { padding: var(--iznm-space-2) var(--iznm-space-3); margin-bottom: var(--iznm-space-3); border-radius: var(--iznm-radius-md); font-size: 14px; }  /* 14px: 例外・トークン外サイズ */
.iznm-target-post-flash--success { background: rgba(0, 200, 100, 0.15); color: #6dc; }
.iznm-target-post-flash--error { background: rgba(255, 80, 80, 0.15); color: #fc6; }
.iznm-target-post-list .iznm-target-post { padding: var(--iznm-space-3); margin-bottom: var(--iznm-space-3); background: var(--iznm-bg-raised, #222); border-radius: var(--iznm-radius-md); }
.iznm-target-post-body { white-space: pre-wrap; word-wrap: break-word; font-size: var(--iznm-text-sm); line-height: var(--iznm-leading-normal); }  /* 14px: 例外・トークン外サイズ */
.iznm-target-post-body a { color: var(--iznm-text-link, #6cf); text-decoration: underline; }
.iznm-target-post-time { display: block; margin-top: var(--iznm-space-2); color: var(--iznm-text-muted, #888); /* font-size: Moved to iznm-components.css */ }
.iznm-target-post-actions { margin-top: var(--iznm-space-2); }
.iznm-target-post-actions summary { cursor: pointer; color: var(--iznm-text-muted, #888); /* font-size: Moved to iznm-components.css */ }
.iznm-target-post-empty { color: var(--iznm-text-muted, #888); font-size: var(--iznm-text-sm); }
.iznm-btn--danger { background: var(--iznm-form-required-color); color: var(--iznm-color-on-red); }
/* === MVP-4-A-2 Leader 投稿 終了 === */

/* ============================================================
   MVP-4-A-2: CONNECT 結果トースト
   ============================================================ */
.iznm-connect-toast { position: fixed; left: 50%; bottom: var(--iznm-space-20); transform: translateX(-50%); padding: var(--iznm-space-3) var(--iznm-space-5); background: rgba(0, 0, 0, 0.9); color: var(--iznm-color-on-red); border-radius: 24px; font-size: 14px; z-index: 10000; animation: iznm-toast-in 0.3s ease; pointer-events: none; }  /* 24px radius/14px: 例外・トークン外 */
.iznm-connect-toast--leaving { animation: iznm-toast-out 0.3s ease forwards; }
@keyframes iznm-toast-in { from { transform: translate(-50%, 20px); opacity: 0; } to { transform: translate(-50%, 0); opacity: 1; } }
@keyframes iznm-toast-out { from { transform: translate(-50%, 0); opacity: 1; } to { transform: translate(-50%, 20px); opacity: 0; } }
/* === MVP-4-A-2 トースト 終了 === */

/* ============================================================
   Phase 3 A-2': Leader 限定リンクセクション
   ============================================================ */
.iznm-my-spots__leader-links { background: var(--iznm-bg-raised, #1a1a1a); border: 1px solid var(--iznm-border-dark, #333); border-radius: var(--iznm-radius-lg); padding: var(--iznm-space-4); margin-bottom: var(--iznm-space-6); }
.iznm-my-spots__leader-links-title { font-size: 14px; color: var(--iznm-text-sub, #aaa); margin: 0 0 var(--iznm-space-3); }  /* 14px: 例外・トークン外サイズ */
.iznm-my-spots__leader-links-list { list-style: none; padding: 0; margin: 0; }
.iznm-my-spots__leader-links-list li { margin: var(--iznm-space-2) 0; }
.iznm-my-spots__leader-links-list a { color: var(--iznm-text-link, #4af); text-decoration: none; }
.iznm-my-spots__timeline-title { font-size: 16px; margin: var(--iznm-space-6) 0 var(--iznm-space-3); }  /* 16px: 例外・トークン外サイズ */

/* Phase 3 A-2': タイプアイコン */
.iznm-type-badge { display: inline-block; padding: var(--iznm-badge-padding-y) var(--iznm-badge-padding-x); border-radius: var(--iznm-radius-md); font-size: 11px; font-weight: var(--iznm-font-bold); }  /* 11px: 例外・トークン外サイズ */
.iznm-type-badge--spot { background: rgba(64, 192, 255, 0.15); color: #4cf; }
.iznm-type-badge--event { background: rgba(255, 192, 64, 0.15); color: #fc4; }
.iznm-type-badge--brand { background: rgba(192, 64, 255, 0.15); color: #c4f; }


/* Phase 3 A-2': 他人 ID ページ状態 CSS */
.iznm-etch-meta { margin-top: var(--iznm-space-2); font-size: var(--iznm-text-xs); color: var(--iznm-text-sub, #aaa); }
.iznm-etch-last-date { display: block; }
.iznm-etch-upsell--single { margin-top: var(--iznm-space-3); }
/* === Phase 3 A-2' 終了 === */

/* === Phase 4-C UI バンドル: /my-account/ 仮パス注意メッセージ === */
.iznm-myid-temp-pw-notice {
    background: var(--iznm-bg-raised);
    border: 1px solid rgba(212,165,116,.3);
    padding: var(--iznm-space-4) var(--iznm-space-5);
    margin-bottom: var(--iznm-space-6);
    text-align: center;
}
.iznm-myid-temp-pw-notice p {
    font-size: var(--iznm-text-xs);
    color: var(--iznm-text-sub);
    line-height: 1.7;  /* 例外: トークン外 */
    letter-spacing: 0.04em;  /* 例外: トークン外 */
    margin: 0 0 var(--iznm-space-3);
}
.iznm-myid-temp-pw-notice .iznm-btn {
    display: inline-block;
    padding: 10px var(--iznm-space-6);  /* 10px: 例外・space grid 外 */
    font-size: 12px;  /* 例外: トークン外サイズ */
    letter-spacing: var(--iznm-tracking-wider);
}
/* === Phase 4-C UI バンドル: /my-account/ 仮パス注意メッセージ 終了 === */

/* ============================================================
   Phase 4-F: 画像投稿関連 CSS
   ============================================================ */

/* 投稿フォーム画像選択フィールド */
.iznm-group-post-image-field {
    margin: var(--iznm-space-2) 0;
}
.iznm-group-post-image-input {
    display: block;
    margin: var(--iznm-space-1) 0;
    font-size: var(--iznm-text-xs);
}
.iznm-group-post-image-preview {
    margin: var(--iznm-space-2) 0;
}
.iznm-group-post-image-preview img {
    max-width: 100%;
    border-radius: var(--iznm-radius-lg);
}

/* 投稿カード画像表示 */
.iznm-group-post-image {
    position: relative;
    margin: var(--iznm-space-2) 0;
}
.iznm-group-post-image img {
    max-width: 100%;
    height: auto;
    border-radius: var(--iznm-radius-lg);
    display: block;
}
.iznm-group-post-image-delete-btn {
    background: transparent;
    border: 1px solid var(--iznm-text-muted);
    color: var(--iznm-text-muted);
    font-size: 12px;  /* 例外: トークン外サイズ */
    padding: var(--iznm-space-1) 10px;  /* 10px: 例外・space grid 外 */
    border-radius: var(--iznm-radius-md);
    margin-top: 6px;
    cursor: pointer;
}
.iznm-group-post-image-delete-btn:hover {
    background: var(--iznm-bg-deep);
    color: var(--iznm-text-main);
}

/* ============================================================
   Phase 4-F: GROUP リスト link-badge CSS
   ============================================================ */

/* E-2 + Fix-A v4.2: .iznm-group-type-badge と枠サイズ完全統一 */
.iznm-groups-list-link-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--iznm-text-xs);
    padding: 2px 8px;
    border-radius: var(--iznm-radius-md);
    font-weight: var(--iznm-font-medium);
    letter-spacing: var(--iznm-tracking-wide);
    line-height: 1.4;
    min-height: 18px;
    box-sizing: border-box;
    color: var(--iznm-color-on-primary);
}
.iznm-groups-list-link-badge--spot {
    background: var(--iznm-blue);
}
.iznm-groups-list-link-badge--event {
    background: var(--iznm-green);
}
.iznm-groups-list-link-badge--brand {
    background: var(--iznm-gold);
}
.iznm-groups-list-link-badge--official {
    background: var(--iznm-text-muted);
}
.iznm-groups-list-link-badge-icon {
    width: 12px;
    height: 12px;
    object-fit: contain;
    display: inline-block;
    vertical-align: middle;
}

/* ============================================================
   Phase 4-F: GROUP 詳細ページ status-badge + header-actions CSS
   ============================================================ */

/* Fix-C v4.2: アイコン + バッジ群の独立カラム配置 */
.iznm-group-icon-block {
    display: flex;
    align-items: stretch;
    gap: var(--iznm-space-3);
    margin-bottom: var(--iznm-space-3);
}
.iznm-group-icon-badges {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--iznm-space-2);
    padding: var(--iznm-space-1) 0;
    min-width: 0;
    flex: 0 1 auto;
}
.iznm-group-linked-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--iznm-text-xs);
    padding: 2px 8px;
    border-radius: var(--iznm-radius-md);
    font-weight: var(--iznm-font-medium);
    letter-spacing: var(--iznm-tracking-wide);
    line-height: 1.4;
    color: var(--iznm-color-on-primary);
    text-decoration: none;
}
.iznm-group-linked-badge--spot {
    background: var(--iznm-blue);
}
.iznm-group-linked-badge--event {
    background: var(--iznm-green);
}
.iznm-group-linked-badge--brand {
    background: var(--iznm-gold);
}
.iznm-group-linked-badge--official {
    background: var(--iznm-text-muted);
}
.iznm-group-linked-badge-icon {
    width: 12px;
    height: 12px;
    object-fit: contain;
    display: inline-block;
}

.iznm-group-header-actions {
    display: flex;
    gap: var(--iznm-space-2);
    margin: var(--iznm-space-3) 0;
    flex-wrap: wrap;
}
/* Moved to iznm-components.css */

/* ============================================================
   Phase 4-F: あなたのグループ H2 with-cta レイアウト
   ============================================================ */

.iznm-groups-section-cta {
    font-size: var(--iznm-text-xs);
}

/* E-6 v4.1: 投稿フォーム通常配置（sticky 解除） */
.iznm-group-post-form-wrap {
    margin: var(--iznm-space-4) 0;
}

/* E-7 v4.1: 注記文言控えめ表示（案 α・全箇所統一） */
.iznm-form-hint {
    /* font-size: Moved to iznm-components.css */
    color: var(--iznm-text-muted);
    margin: var(--iznm-space-1) 0;
    line-height: var(--iznm-leading-tight);
}

/* ============================================================
   MVP-5 Phase 5-A: U-2 CONNECT 回数表記
   ============================================================ */
.iznm-connection-main {
    gap: var(--iznm-space-2);
    flex-wrap: wrap;
}
.iznm-connection-main > a {
    flex-shrink: 0;
}
.iznm-connection-main > .iznm-connect-count {
    flex-shrink: 0;
    font-size: var(--iznm-text-xs);
    color: var(--iznm-text-sub);
}
.iznm-connection-main > .iznm-etch-date {
    margin-left: auto;
    font-size: var(--iznm-text-xs);
    color: var(--iznm-text-muted);
    flex-shrink: 0;
}

/* ============================================================
   MVP-5 Phase 5-A: U-4 SPOT 管理ボタン 100% 幅
   ============================================================ */
.iznm-my-spots__leader-button {
    display: block;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    margin: 0 0 var(--iznm-space-4);
}

/* ============================================================
   MVP-5 Phase 5-A: L-2 / L-3 2 ボタン CTA
   ============================================================ */
.iznm-etch-cta-buttons {
    display: flex;
    flex-direction: column;
    gap: var(--iznm-space-3);
    margin-top: var(--iznm-space-4);
}
.iznm-etch-cta-buttons .iznm-btn {
    display: block;
    width: 100%;
    text-align: center;
    box-sizing: border-box;
}


/* ============================================================
   5C-T1-1: disabled 統一
   ============================================================ */
.iznm-etch-btn.iznm-btn-disabled,
/* .iznm-own-btn.iznm-btn-disabled — Moved to iznm-components.css */
button[disabled] {
  background: var(--iznm-btn-disabled-bg);
  color: var(--iznm-btn-disabled-text);
  cursor: not-allowed;
  pointer-events: none;
}

/* ============================================================
   C10: テキストリンク色（§4.12・v2.2: 白＋下線・だーすーさん確定 2026-06-11）
   波及制御 [MUST]：.iznm-wrap スコープ限定。
   ナビ/リスト/ボタン/バッジ/カード系は各文脈クラスで明示上書き。
   ============================================================ */
.iznm-wrap a {
    color: var(--iznm-color-link);
    text-decoration: underline;
}
.iznm-wrap a:hover {
    text-decoration: none;
    opacity: 0.8;
}
/* C10 波及除外：ナビ・リスト・ボタン・バッジ・カード・SNS 等の文脈クラスで上書き */
.iznm-setting-link-item a,
.iznm-connection-item a,
.iznm-connection-link,
.iznm-groups-list-item a,
.iznm-my-spots__item a,
.iznm-my-spots__card-link,
.iznm-legal-link-card,
.iznm-legal-link-card a {
    color: var(--iznm-text-main);
    text-decoration: none;
}
.iznm-setting-link-item a:hover,
.iznm-connection-item a:hover,
.iznm-groups-list-item a:hover,
.iznm-my-spots__item a:hover {
    color: var(--iznm-text-main);
    text-decoration: none;
    opacity: 0.8;
}
/* ボタン系は色・下線を自前で持つため C10 を打ち消し */
/* ボタン系の C10 保護は iznm-components.css に集約（最後に読み込まれるため常に優先） */
/* ヘッダ/フッター/SNS/バッジは C10 対象外 */
.iznm-header a,
.iznm-footer-nav a,
.iznm-sns-tag,
[class*="badge"] a,
[class*="badge"] {
    text-decoration: none;
}
.iznm-footer-nav-item {
    color: var(--iznm-text-sub);
    text-decoration: none;
}

/* file input: ブラウザ標準ボタンを統一規範に寄せる */
.iznm-wrap input[type="file"]::file-selector-button {
    background: var(--iznm-btn-bg);
    color: var(--iznm-btn-text);
    border: var(--iznm-btn-border);
    border-radius: var(--iznm-btn-radius);
    padding: 6px 14px;
    font-size: var(--iznm-text-xs);
    font-family: var(--iznm-font-ja);
    letter-spacing: var(--iznm-tracking-wider);
    cursor: pointer;
    transition: background var(--iznm-transition-normal);
}
.iznm-wrap input[type="file"]::file-selector-button:hover {
    background: var(--iznm-btn-bg-hover);
}

