/* 指導案（lessonplanui.js / lessonshow.js / 閲覧ページ plan.html）の見た目。app.css の変数（--gold など）を使う */

/* ---------- 小さな図（lessonanim.js） ---------- */
svg.lpa{display:block;width:100%;height:100%;background:#2c6b3e;border-radius:10px}
svg.lpa text{font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",system-ui,sans-serif;pointer-events:none}

/* ---------- 編集の画面（画面いっぱい） ---------- */
.lp-root{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;background:var(--bg);color:var(--txt)}
.lp-top{display:flex;align-items:center;gap:10px;padding:8px 12px;padding-top:calc(8px + env(safe-area-inset-top));background:var(--panel);border-bottom:1px solid var(--line)}
.lp-top .hbtn{min-height:40px}
.lp-title{flex:1;min-width:0;font-weight:800;font-size:16px;display:flex;align-items:baseline;gap:8px;white-space:nowrap;overflow:hidden}
.lp-title .lp-ico{font-size:18px}
.lp-title small{font-weight:600;font-size:11px;color:var(--txt-dim)}
.lp-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 12px 24px;display:flex;flex-direction:column;gap:12px}
.lp-body>*{width:100%;max-width:980px;margin:0 auto}
.lp-head{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.lp-f{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--txt-dim);min-width:0}
.lp-f input{background:var(--chip);border:1px solid var(--line);border-radius:8px;padding:9px 10px;font-size:16px;color:var(--txt);min-width:0;width:100%;color-scheme:dark}
.lp-f.f-date{grid-column:span 2}.lp-f.f-theme{grid-column:span 4}.lp-f.f-coach{grid-column:span 2}.lp-f.f-target{grid-column:span 2}.lp-f.f-players{grid-column:span 2}
.lp-time{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px}
.lp-tc{background:var(--chip);border:1px solid var(--line);border-radius:999px;padding:4px 10px;white-space:nowrap}
.lp-tc b{color:var(--gold)}
.lp-tt{margin-left:auto;font-size:14px;white-space:nowrap}
.lp-tt b{font-size:20px;color:var(--gold)}
.lp-warn{display:flex;flex-direction:column;gap:4px}
.lp-warn[hidden]{display:none}
.lp-wi{font-size:12.5px;line-height:1.5;color:#ffd79a;background:rgba(255,190,90,.08);border:1px solid rgba(255,190,90,.35);border-radius:8px;padding:6px 10px}
.lp-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.lp-slot{position:relative;display:flex;flex-direction:column;gap:8px;background:#101b14;border:1px solid var(--line);border-radius:12px;padding:10px;transition:box-shadow .15s}
.lp-slot.dragging{z-index:5;box-shadow:0 12px 32px rgba(0,0,0,.55);opacity:.92}
.lp-slot.dropat{box-shadow:0 0 0 2px var(--gold)}
.lp-sh{display:flex;align-items:center;gap:6px}
.lp-drag{cursor:grab;touch-action:none;user-select:none;font-size:18px;color:var(--txt-dim);padding:6px 4px;line-height:1}
.lp-lab{width:92px;min-width:0;background:transparent;border:1px solid transparent;border-radius:6px;padding:4px 6px;font-size:17px;font-weight:800;color:var(--gold)}
.lp-lab:focus{border-color:var(--line);background:var(--chip);outline:none}
.lp-min{display:flex;align-items:center;gap:4px;margin-left:auto;font-size:13px;color:var(--txt-dim)}
.lp-min input{width:64px;text-align:center;background:var(--chip);border:1px solid var(--line);border-radius:8px;padding:7px 4px;font-size:16px;color:var(--txt)}
.lp-x{background:none;border:none;color:var(--txt-dim);font-size:15px;min-width:32px;min-height:32px;border-radius:8px}
.lp-x:hover:not(:disabled){background:rgba(255,128,128,.12);color:var(--danger)}
.lp-thumb{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;aspect-ratio:16/10;max-height:280px;padding:0;border-radius:10px;border:1px dashed rgba(217,182,74,.45);background:rgba(44,107,62,.25);color:var(--gold);font-weight:800;font-size:14px;overflow:hidden}
.lp-slot:not(.empty) .lp-thumb{border:none;background:#2c6b3e}
.lp-thumb .lp-plus{font-size:30px;line-height:1}
.lp-si{display:flex;flex-direction:column;gap:3px;min-width:0}
.lp-sn{font-size:14px}
.lp-si small{font-size:11.5px;color:var(--txt-dim);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lp-sb{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.lp-sb .hbtn{min-height:36px;font-size:12px}
.lp-add{align-self:center;min-height:44px;padding:0 18px}
.lp-kf h4,.lp-sum h4{font-size:13px;color:var(--gold);letter-spacing:.06em;margin-bottom:8px}
.lp-kf h4 small,.lp-sum h4 small{font-weight:500;color:var(--txt-dim);font-size:11px;letter-spacing:0;margin-left:6px}
.lp-kfl{display:flex;flex-direction:column;gap:6px;padding-left:22px}
.lp-kfl li::marker{color:var(--gold);font-weight:800}
.lp-kfl input{width:100%;background:var(--chip);border:1px solid var(--line);border-radius:8px;padding:9px 10px;font-size:16px;color:var(--txt);transition:box-shadow .3s}
.lp-kfl input.flash{box-shadow:0 0 0 2px var(--gold)}
.lp-sug{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;align-items:center}
.lp-sugh{width:100%;font-size:11px;color:var(--txt-dim)}
.lp-sugc{min-height:36px;padding:6px 10px;border-radius:999px;font-size:13px;text-align:left;display:inline-flex;gap:6px;align-items:baseline}
.lp-sugc small{font-size:10px;color:var(--txt-dim)}
.lp-gear{font-size:13px;line-height:1.7;color:#cfe8d6;background:rgba(159,227,184,.08);border:1px dashed rgba(159,227,184,.35);border-radius:8px;padding:8px 10px}
.lp-gear b{color:var(--gold);margin-right:6px}
.lp-foot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px 10px;padding-bottom:calc(8px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--line)}
.lp-fb{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;border:1px solid var(--line);background:var(--chip);border-radius:10px;font-weight:800;font-size:14px;color:var(--txt)}
.lp-fb.primary{background:var(--gold);border-color:var(--gold);color:#12200f}
.lp-fb .i{font-size:17px}
.lp-fb[hidden]{display:none}
.lp-foot:has(#lpSend:not([hidden])){grid-template-columns:repeat(5,minmax(0,1fr))}   /* 📤 送る が出る端末（スマホ）は 5 つ */

/* 練習を選ぶ */
.dlg.lp-pick-dlg .dbox{padding:0;width:min(760px,96vw);max-width:96vw}
.lp-pick{display:flex;flex-direction:column;max-height:calc(100dvh - 32px);min-height:0}
.lp-pick-h{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)}
.lp-pick .psearch{margin:10px 14px 0;width:calc(100% - 28px);flex:none}
.lp-plist{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;padding:10px 14px 16px;overflow-y:auto;min-height:0}
.lp-pgrp{grid-column:1/-1;font-size:12px;font-weight:800;color:var(--gold);margin-top:6px}
.lp-pgrp small{color:var(--txt-dim);font-weight:600;margin-left:4px}
.lp-pempty{grid-column:1/-1;font-size:12px;color:var(--txt-dim)}
.lp-pcard,.lp-pnew{display:flex;flex-direction:column;gap:4px;align-items:stretch;text-align:left;padding:8px;border:1px solid var(--line);background:var(--chip);border-radius:10px;min-width:0}
.lp-pcard[hidden],.lp-pgrp[hidden],.lp-pempty[hidden]{display:none}
/* カードは 作成済み練習メニュー一覧（app.css の .dg-*）と同じもの。ジャンルのチップも同じ */
.lp-pcard.dg-open{align-items:center;text-align:center}
.lp-pcard .dg-thumb{max-width:none;aspect-ratio:4/3}
.lp-pick .lp-pgen{padding:8px 14px 0}
.lp-pcard svg{aspect-ratio:4/3;height:auto}
.lp-pcard b,.lp-pnew b{font-size:13px}
.lp-pcard small,.lp-pnew small{font-size:10.5px;color:var(--txt-dim);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lp-pnew{grid-column:1/-1;flex-direction:row;align-items:center;gap:10px;border-style:dashed;border-color:rgba(217,182,74,.55);min-height:56px}
.lp-pnew .lp-plus{font-size:24px;color:var(--gold)}
.lp-pnew b{white-space:nowrap}
.lp-pnew small{-webkit-line-clamp:3}

/* 盤から指導案へ戻るボタン（新しく作るの途中） */
.lp-return{position:fixed;right:12px;bottom:calc(170px + env(safe-area-inset-bottom));z-index:35;display:flex;align-items:stretch;border-radius:14px;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.5);border:1px solid var(--gold)}
.lp-return[hidden]{display:none}
.lp-rgo{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;background:var(--gold);color:#12200f;border:none;font-weight:800;font-size:14px;text-align:left}
.lp-rgo small{font-weight:600;font-size:11px}
.lp-rx{background:#101b14;color:var(--txt);border:none;padding:0 12px;font-size:14px}

/* 一覧の印 */
.pkind.plan{display:inline-block;background:rgba(217,182,74,.16);color:var(--gold);border-radius:6px;padding:0 6px;font-weight:800}
.nw-card.plan{border-color:rgba(217,182,74,.55)}

/* ---------- 説明モード ---------- */
.lps{position:fixed;inset:0;z-index:70;display:flex;flex-direction:column;background:#07100c;color:var(--txt)}
.lps-top{display:flex;align-items:center;gap:10px;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top));border-bottom:1px solid var(--line)}
.lps-lab{background:var(--gold);color:#12200f;font-weight:900;font-size:20px;border-radius:10px;padding:4px 14px;white-space:nowrap}
.lps-name{font-size:20px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lps-min{font-size:16px;color:var(--gold);white-space:nowrap}
.lps-sp{flex:1}
.lps-pg{font-size:13px;color:var(--txt-dim);white-space:nowrap}
.lps-x{background:none;border:1px solid var(--line);border-radius:10px;color:var(--txt);min-width:44px;min-height:44px;font-size:18px}
.lps-main{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:18px;padding:16px}
.lps-board{min-height:0;display:flex;align-items:center;justify-content:center;cursor:pointer}
.lps-board svg{max-height:100%;width:100%;height:100%}
.lps-empty{font-size:48px;font-weight:900;color:rgba(217,182,74,.35)}
.lps-side{overflow-y:auto;display:flex;flex-direction:column;gap:8px;font-size:clamp(16px,1.6vw,24px);line-height:1.55}
.lps-h{font-size:.72em;font-weight:800;color:var(--gold);letter-spacing:.08em;margin-top:6px}
.lps-aim{font-weight:800;font-size:1.12em}
.lps-pts{padding-left:1.2em;display:flex;flex-direction:column;gap:4px}
.lps-pts li::marker{color:var(--gold)}
.lps-rules{color:#d6dccf}
.lps-note{color:var(--txt-dim);font-size:.8em}
.lps-kf{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:12px}
.lps-kf h2{color:var(--gold);font-size:clamp(26px,4vw,44px)}
.lps-kf ol{font-size:clamp(20px,3vw,34px);line-height:1.6;display:flex;flex-direction:column;gap:8px;max-width:1000px;padding-left:1.4em}
.lps-kf li::marker{color:var(--gold);font-weight:900}
.lps-nav{display:flex;align-items:center;gap:10px;padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}
.lps-btn{min-height:56px;min-width:120px;border-radius:14px;border:1px solid var(--line);background:var(--chip);font-size:18px;font-weight:800;color:var(--txt)}
.lps-btn.next{background:var(--gold);border-color:var(--gold);color:#12200f}
.lps-btn.play{min-width:64px}
.lps-dots{flex:1;display:flex;justify-content:center;gap:6px;flex-wrap:wrap}
.lps-dot{min-height:40px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--txt-dim);font-weight:800}
.lps-dot.on{background:rgba(217,182,74,.18);color:var(--gold);border-color:var(--gold)}

@media (max-width:760px){
  .lp-head{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lp-f.f-date,.lp-f.f-coach,.lp-f.f-target,.lp-f.f-players{grid-column:span 1}
  .lp-f.f-theme{grid-column:span 2}
  .lp-f.f-date{grid-column:span 2}
  .lp-slots{grid-template-columns:minmax(0,1fr)}
  .lp-slot{display:grid;grid-template-columns:118px minmax(0,1fr);grid-template-areas:"h h" "t i";column-gap:10px;row-gap:8px}
  .lp-slot.empty{grid-template-areas:"h h" "t t"}
  .lp-sh{grid-area:h}.lp-thumb{grid-area:t}.lp-si{grid-area:i}
  .lp-slot.empty .lp-thumb{aspect-ratio:auto;min-height:64px;flex-direction:row}
  .lp-fb{flex-direction:column;gap:2px;font-size:11px;min-height:54px}
  .lp-tt{margin-left:0}
  .lps-main{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1.3fr) minmax(0,1fr);padding:10px;gap:10px}
  .lps-top{padding:8px 10px;gap:8px}
  .lps-lab{font-size:16px;padding:3px 10px}.lps-name{font-size:15px}.lps-min{font-size:13px}
  .lps-btn{min-width:84px;font-size:15px;min-height:52px}
  .lps-dots{gap:4px}.lps-dot{padding:0 8px;min-height:34px;font-size:11px}
  .lps-nav{padding:8px 10px;gap:6px}
}
@media (max-width:420px){.lps-dots{display:none}}
@media (max-width:760px){.lp-return{bottom:calc(220px + env(safe-area-inset-bottom));right:8px}.lp-rgo{padding:8px 12px;font-size:13px}}
@media print{
  body.printing-card .lp-root,body.printing-card .lps,body.printing-card .lp-return,body.printing-card .pv-root{display:none!important}
}
