/* kd-mp.css — MP ページ本体 (子ども選択 + 親編集) 用スタイル。w1.css からグローバル body/見出しを除去し Cocoon 非破壊化 (W: MP ページ WP 配置) */
:root{
  --ink:#453B30; --ink-soft:#59503F; --ink-mute-s:#6E6250; --ink-mute:#8A7C66;
  --accent:#D9572B; --accent-deep:#C04A22; --on-accent:#FFF8F2; --link:#BE4F24;
  --line:#F0E4D3; --card-border:#E3D3BE; --thumb-ph:#F4EBDD;
  --panel-warm:#FFF2E2; --chip-warm:#FFF6E2; --chip-warm-ink:#8F6A1C;
  --stage:#1E170F; --backdrop:rgba(46,36,26,.72);
  --btn-soft-bg:#FBE3D6; --btn-soft-hover:#F6D3BF; --btn-soft-ink:#BE4F24;
  --bg:#FFF9F0;
}
.kdmp-root *,.kdmp-pin *,.kdmp-picker *,.kdpl *,.kdmp-stub *,.kdauth-modal *{box-sizing:border-box;}
/* body 指定は本番 WP では除去 (Cocoon を壊さないため)。背景は .kdmp-root が持つ */
.kdmp-root h1,.kdmp-root h2,.kdmp-root h3{font-family:"M PLUS Rounded 1c","Noto Sans JP",sans-serif;line-height:1.35;}
.kdmp-root{max-width:760px;margin:0 auto;min-height:100vh;background:#fff;
  border-left:1px solid var(--line);border-right:1px solid var(--line);}
button{font-family:inherit;cursor:pointer;}

/* === 試作用の外枠ノート (本番では無い) === */
.demo-note{max-width:760px;margin:10px auto 0;font-size:12px;color:var(--ink-mute-s);
  background:var(--chip-warm);border:1px solid var(--line);border-radius:10px;padding:8px 14px;}

/* === 子ども選択ビュー === */
.kdmp-c-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line);}
.kdmp-logo{font-family:"M PLUS Rounded 1c",sans-serif;font-weight:800;font-size:18px;color:var(--ink);display:flex;align-items:center;gap:8px;}
.kdmp-logo-mark{width:26px;height:26px;border-radius:8px;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:14px;}
.kdmp-lock{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--card-border);background:#fff;font-size:19px;}
.kdmp-c-title{font-size:22px;font-weight:800;text-align:center;margin:22px 0 18px;}
.kdmp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding:0 18px 40px;}
@media (min-width:620px){.kdmp-grid{grid-template-columns:repeat(3,1fr);}}
.kdmp-card{border:none;border-radius:20px;padding:16px 12px 14px;display:flex;flex-direction:column;align-items:center;gap:8px;
  min-height:150px;box-shadow:0 2px 8px rgba(122,94,58,.08);transition:transform .12s ease;}
.kdmp-card:active{transform:scale(.97);}
.kdmp-card-icon{font-size:34px;line-height:1;}
.kdmp-card-thumb{width:100%;max-width:150px;aspect-ratio:16/9;object-fit:cover;border-radius:12px;background:var(--thumb-ph);}
.kdmp-card-noimg{width:100%;max-width:150px;aspect-ratio:16/9;border-radius:12px;background:rgba(255,255,255,.5);}
.kdmp-card-name{font-family:"M PLUS Rounded 1c",sans-serif;font-weight:800;font-size:15px;text-align:center;line-height:1.25;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.kdmp-empty{text-align:center;color:var(--ink-mute-s);font-size:19px;font-weight:700;padding:70px 20px;line-height:2;font-family:"M PLUS Rounded 1c",sans-serif;}
.kdmp-empty-sub{font-size:13.5px;color:var(--ink-mute);font-weight:400;}

/* === 親編集ビュー === */
.kdmp-p-head{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line);background:var(--panel-warm);flex-wrap:wrap;}
.kdmp-pill{border:1.5px solid #E3B9A6;background:#FBE3D6;color:var(--btn-soft-ink);font-weight:700;font-size:13px;border-radius:999px;padding:8px 16px;}
.kdmp-p-title{font-family:"M PLUS Rounded 1c",sans-serif;font-weight:800;font-size:18px;}
.kdmp-band{margin:14px 18px 6px;font-size:14px;color:var(--ink-soft);background:var(--chip-warm);border-radius:10px;padding:9px 14px;display:inline-block;}
.kdmp-band b{color:var(--accent);font-size:16px;}
.kdmp-hint,.kdmp-note{color:var(--ink-mute-s);font-size:13px;padding:0 4px;}
.kdmp-list{padding:6px 18px;}
.kdmp-row{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:14px;margin:8px 0;background:#fff;flex-wrap:wrap;}
.kdmp-row.kdmp-dragging{opacity:.4;}
.kdmp-drag{color:var(--ink-mute);cursor:grab;font-size:15px;user-select:none;letter-spacing:-2px;}
.kdmp-row-icon{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:20px;flex:none;}
.kdmp-row-main{flex:1;min-width:0;display:flex;flex-direction:column;}
.kdmp-row-name{font-weight:700;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.kdmp-row-meta{font-size:12px;color:var(--ink-mute-s);}
.kdmp-toggle{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-soft);cursor:pointer;flex:none;}
.kdmp-toggle input{display:none;}
.kdmp-toggle-ui{width:38px;height:22px;border-radius:999px;background:#DDD3C4;position:relative;transition:background .15s;}
.kdmp-toggle-ui::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s;}
.kdmp-toggle input:checked + .kdmp-toggle-ui{background:var(--accent);}
.kdmp-toggle input:checked + .kdmp-toggle-ui::after{transform:translateX(16px);}
.kdmp-toggle-lb{white-space:nowrap;}
.kdmp-edit{border:1.5px solid var(--card-border);background:#fff;color:var(--ink-soft);font-weight:700;font-size:12.5px;border-radius:999px;padding:7px 14px;flex:none;}
.kdmp-del{border:none;background:transparent;font-size:24px;padding:4px 8px;border-radius:8px;flex:none;color:var(--accent-deep);line-height:1;}
.kdmp-del[data-armed="1"]{background:#FDECEC;font-size:13px;font-weight:700;padding:8px;}
/* 狭幅端末: トグルのラベルを畳み、操作ボタンが右端で切れないようにする */
@media (max-width:480px){
  .kdmp-row{gap:8px;}
  .kdmp-toggle-lb{display:none;}
  .kdmp-edit{padding:7px 12px;}
}
.kdmp-addwrap{padding:8px 18px 30px;}
.kdmp-add{width:100%;border:1.5px dashed #E3B9A6;background:var(--btn-soft-bg);color:var(--btn-soft-ink);font-weight:800;font-size:15px;border-radius:14px;padding:14px;}
.kdmp-add:disabled{opacity:.55;cursor:not-allowed;}
.kdmp-note{margin-top:8px;text-align:center;}

/* === 編集パネル === */
.kdmp-editor{margin:0 18px 30px;border:1.5px solid var(--card-border);border-radius:16px;padding:16px;background:#FFFDF9;}
.kdmp-ed-head{font-weight:800;font-size:15px;display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.kdmp-ed-close,.kdmp-picker-close,.kdmp-pin-close{border:none;background:#F0E4D3;color:#59503F;font-weight:700;font-size:13px;border-radius:999px;padding:6px 14px;}
.kdmp-field{display:block;font-size:13px;color:var(--ink-soft);font-weight:700;margin:12px 0;}
.kdmp-name{display:block;width:100%;margin-top:6px;border:1.5px solid var(--card-border);border-radius:10px;padding:10px 12px;font-size:15px;font-family:inherit;}
.kdmp-icons,.kdmp-colors{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.kdmp-ic{width:42px;height:42px;border-radius:11px;border:1.5px solid var(--card-border);background:#fff;font-size:20px;}
.kdmp-ic.on{border-color:var(--accent);background:var(--btn-soft-bg);}
.kdmp-co{width:36px;height:36px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1.5px var(--card-border);}
.kdmp-co.on{box-shadow:0 0 0 2.5px var(--accent);}
.kdmp-ed-sub{font-size:13px;font-weight:700;color:var(--ink-soft);margin:14px 0 8px;}
.kdmp-vlist{display:flex;flex-direction:column;gap:6px;}
.kdmp-vrow{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:11px;padding:7px 9px;background:#fff;}
.kdmp-vrow.kdmp-dragging{opacity:.4;}
.kdmp-vthumb{width:64px;height:36px;object-fit:cover;border-radius:7px;background:var(--thumb-ph);flex:none;}
.kdmp-vthumb-x{background:#FDECEC;}
.kdmp-vtitle{flex:1;min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.kdmp-vmove{display:flex;flex-direction:column;gap:3px;flex:none;}
.kdmp-vmove button{border:1.5px solid var(--card-border);background:#fff;color:var(--ink-soft);border-radius:6px;width:30px;height:20px;font-size:10px;line-height:1;padding:0;display:flex;align-items:center;justify-content:center;}
.kdmp-vmove button:active{background:var(--btn-soft-bg);}
.kdmp-vmove button:disabled{opacity:.3;cursor:default;}
.kdmp-vdel{border:none;background:transparent;color:var(--ink-mute);font-size:16px;padding:4px 8px;}
.kdmp-addv{margin-top:12px;border:1.5px solid var(--card-border);background:#fff;color:var(--btn-soft-ink);font-weight:700;font-size:14px;border-radius:12px;padding:11px 16px;width:100%;}

/* === 動画ピッカー === */
.kdmp-picker,.kdmp-pin,.kdmp-stub{position:fixed;inset:0;background:var(--backdrop);display:flex;align-items:center;justify-content:center;z-index:50;padding:16px;}
.kdmp-picker-box{background:#fff;border-radius:18px;max-width:520px;width:100%;max-height:82vh;display:flex;flex-direction:column;overflow:hidden;}
.kdmp-picker-head{padding:14px 16px;font-weight:800;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);}
.kdmp-picker-list{overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:6px;}
.kdmp-pick-ch{display:flex;align-items:center;gap:9px;width:100%;border:1px solid var(--line);background:var(--panel-warm);border-radius:11px;padding:12px;font-weight:800;font-size:14.5px;color:var(--ink);text-align:left;}
.kdmp-pick-chev{font-size:11px;color:var(--accent);transition:transform .15s ease;flex:none;}
.kdmp-pick-ch.open .kdmp-pick-chev{transform:rotate(90deg);}
.kdmp-pick-ch-name{flex:1;}
.kdmp-pick-ch-count{font-size:12px;color:var(--ink-mute-s);font-weight:700;background:#fff;border-radius:999px;padding:2px 10px;flex:none;}
.kdmp-pick-group{display:flex;flex-direction:column;gap:6px;padding:2px 0 8px 8px;}
.kdmp-pick-group.collapsed{display:none;}
.kdmp-pick{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;border-radius:11px;padding:7px 10px;text-align:left;}
.kdmp-pick img{width:72px;height:40px;object-fit:cover;border-radius:7px;background:var(--thumb-ph);flex:none;}
.kdmp-pick-t{flex:1;min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.kdmp-pick-badge{font-size:12px;font-weight:700;color:var(--accent);flex:none;}
.kdmp-pick.added{opacity:.6;}
.kdmp-pick.added .kdmp-pick-badge{color:var(--ink-mute);}
.kdmp-pick-seg{background:#FFF6E2;}
.kdmp-pick-seg .kdmp-pick-t{color:var(--chip-warm-ink);font-weight:700;}

/* === PIN モーダル (R1) === */
.kdmp-pin-box{background:#fff;border-radius:22px;max-width:340px;width:100%;padding:14px 22px 24px;text-align:center;}
.kdmp-pin-close{display:block;margin:0 auto 8px;font-size:15px;padding:10px 22px;}
.kdmp-pin-title{font-family:"M PLUS Rounded 1c",sans-serif;font-weight:800;font-size:18px;margin:6px 0 2px;}
.kdmp-pin-inst{font-size:13px;color:var(--ink-mute-s);margin:0 0 14px;min-height:20px;}
.kdmp-pin-inst.kdmp-pin-err{color:var(--accent-deep);font-weight:700;}
.kdmp-pin-dots{display:flex;justify-content:center;gap:14px;margin-bottom:18px;}
.kdmp-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--card-border);background:#fff;}
.kdmp-dot.on{background:var(--accent);border-color:var(--accent);}
.kdmp-pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.kdmp-key{height:58px;border-radius:14px;border:1.5px solid var(--card-border);background:#fff;font-size:22px;font-weight:700;color:var(--ink);}
.kdmp-key:active{background:var(--btn-soft-bg);}
.kdmp-key-empty{visibility:hidden;}
.kdmp-pin-forgot{font-size:12.5px;color:var(--link);margin:16px 0 0;text-decoration:underline;}

/* === 再生スタブ (W1、W2 で置換) === */
.kdmp-stub-box{background:var(--stage);color:#F5EBDD;border-radius:18px;max-width:420px;width:100%;padding:26px 22px;text-align:center;}
.kdmp-stub-t{font-family:"M PLUS Rounded 1c",sans-serif;font-weight:800;font-size:19px;margin:0 0 4px;}
.kdmp-stub-n{font-size:13px;color:#D8C4A8;margin:0 0 14px;}
.kdmp-stub-list{text-align:left;background:rgba(255,255,255,.06);border-radius:12px;padding:12px 14px;font-size:12.5px;white-space:pre-wrap;max-height:200px;overflow-y:auto;font-family:inherit;}
.kdmp-stub-close{margin-top:16px;border:none;background:var(--accent);color:#fff;font-weight:700;font-size:14px;border-radius:999px;padding:11px 28px;}
