/* =====================================================================
   SeeQ デザインシミュレーター v2 — 骨格CSS（2026-09-02 M1）
   旧CSS(legacy.css)の部品（カード・チップ・モーダル・変換/モックアップ画面）は流用し、
   ヘッダー／導線（ステッパー・戻る/次へ）／パネルの見え方をここで上書きする。
   ===================================================================== */
:root{
  --v2-accent:#e2231a;
  --v2-accent-ink:#b81810;
  --v2-ink:#1a1a1a;
  --v2-sub:#6b6b6b;
  --v2-line:#e6e2dc;
  --v2-panel:#ffffff;
  --v2-bg:#f6f4f0;
  --v2-ok:#1e8e4f;
  --v2-warn:#c98a00;
  --v2-ng:#c0392b;
}

/* ---- 旧導線は消す（JSが参照するので display:none のみ） ---- */
body.v2 #pcRail{display:none !important;}
body.v2 .tools{flex-basis:300px;}
body.v2 .mtabs{display:none !important;}
body.v2 .panel-tools{display:none !important;}
body.v2 .brandtoggle{display:none !important;}   /* 森工業切替は v2 では出さない（別導線で） */

/* ---- ヘッダー ---- */
body.v2 header.v2-head{display:flex;align-items:center;gap:14px;padding:0 14px;height:60px;flex-wrap:nowrap;}
body.v2 header.v2-head .brand{flex:0 0 auto;}
body.v2 header.v2-head .head-actions{margin-left:auto;flex:0 0 auto;flex-wrap:nowrap;}
/* 右上はアイコン中心にして1行に収める（画像を保存／他のアイテムはアイコンのみ、見積は「依頼」ステップにもある） */
body.v2 header.v2-head #btnExport .label-pc,
body.v2 header.v2-head #btnXitem .label-pc{display:none;}
body.v2 header.v2-head #btnExport,body.v2 header.v2-head #btnXitem{width:40px;padding:0;justify-content:center;}
body.v2 header.v2-head #btnQuote .label-pc{display:inline;}
@media (max-width:1280px){ body.v2 header.v2-head #btnSave .label-pc{display:none;} body.v2 header.v2-head #btnSave{width:40px;padding:0;justify-content:center;} }
body.v2 header.v2-head .brand-name small{display:none;}          /* タグラインは省略（1行に収める） */
body.v2 header.v2-head .viewtoggle .vt{padding:0 13px;font-size:13.5px;height:34px;}
body.v2 header.v2-head .hsep{margin:0 4px;}
@media (max-width:1500px){ body.v2 header.v2-head #btnSave .label-pc{display:none;} body.v2 header.v2-head #btnSave{width:40px;padding:0;justify-content:center;} body.v2 header.v2-head .brand-name{display:none;} }
@media (max-width:1640px){ body.v2 .v2-step span{display:none;} body.v2 .v2-step{padding:0 7px;} body.v2 .v2-step.on span{display:inline;} body.v2 .v2-step.on{padding-right:16px;} body.v2 .v2-step.done span{display:none;} }
@media (max-width:1440px){ body.v2 header.v2-head #btnQuote .label-pc{display:none;} body.v2 header.v2-head #btnQuote{padding:0 12px;} }
/* 旧CSSに無い汎用 hidden（v2 で切り出した際に落ちた分の保険） */
body.v2 .hidden{display:none !important;}

/* ステッパー */
.v2-stepper{display:flex;align-items:center;gap:4px;flex:0 1 auto;}
.v2-step{display:inline-flex;align-items:center;gap:9px;height:42px;padding:0 16px 0 7px;border-radius:999px;border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);color:rgba(255,255,255,.75);font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;}
.v2-step b{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.14);font-size:13.5px;font-weight:800;}
.v2-step:hover{background:rgba(255,255,255,.12);color:#fff;}
.v2-step.on{background:var(--v2-accent);border-color:var(--v2-accent);color:#fff;}
.v2-step.on b{background:#fff;color:var(--v2-accent);}
.v2-step.done{color:#fff;}
.v2-step.done b{background:#fff;color:var(--v2-ink);}
.v2-step.done b::before{content:"✓";}
.v2-step.done b span{display:none;}
.v2-step + .v2-step::before{content:"";width:10px;height:1px;background:rgba(255,255,255,.25);margin-right:2px;}
@media (max-width:1180px){ .v2-step span{display:none;} .v2-step{padding:0 6px;} .v2-step.on span{display:inline;} .v2-step.on{padding-right:12px;} }

/* ---- パネル（左）: ステップの見出し＋カード ---- */
body.v2 #tools{display:flex;flex-direction:column;}
body.v2 #sheetBody{flex:1 1 auto;min-height:0;overflow-y:auto;}
body.v2 .card.v2-card{border:1px solid var(--v2-line);}
body.v2 .card h3{font-size:13.5px;}

/* 加工方法 */
.v2-methods{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:6px;}
.v2-method{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 12px;border:1px solid var(--v2-line);border-radius:12px;background:#fff;cursor:pointer;text-align:left;font-size:12.5px;font-weight:800;color:var(--v2-ink);}
.v2-method small{font-weight:500;font-size:11px;color:var(--v2-sub);line-height:1.35;}
.v2-method.on{border-color:var(--v2-accent);box-shadow:inset 0 0 0 1.5px var(--v2-accent);}
.v2-method.ng{opacity:.55;}
.v2-qty{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;}
.v2-qty .chiprow{display:flex;gap:6px;flex-wrap:wrap;}
.v2-qty input{width:84px;padding:7px 10px;}
.v2-estbox{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--v2-bg);}
.v2-estbox .k{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--v2-sub);}
.v2-estbox b{font-size:15px;}
.v2-estbox small{flex-basis:100%;font-size:11px;color:var(--v2-sub);}

/* Canva */
.v2-steps-list{margin:6px 0 10px;padding-left:1.4em;font-size:12.5px;line-height:1.7;}
.v2-steps-list b{color:var(--v2-ink);}

/* 仕上がりチェック */
.v2-checklist{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;}
.v2-checklist li{display:flex;gap:10px;align-items:flex-start;padding:9px 11px;border-radius:10px;background:var(--v2-bg);font-size:12.5px;line-height:1.5;}
.v2-checklist li .ic{flex:none;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;color:#fff;background:var(--v2-ok);}
.v2-checklist li.warn .ic{background:var(--v2-warn);}
.v2-checklist li.ng .ic{background:var(--v2-ng);}
.v2-checklist li .t b{display:block;font-size:12.5px;}
.v2-checklist li .t small{display:block;color:var(--v2-sub);font-size:11.5px;}
.v2-btns{display:flex;flex-direction:column;gap:8px;margin-top:12px;}

/* 依頼 */
.v2-summary{margin:6px 0 0;}
.v2-flow{margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--v2-bg);font-size:12.5px;}
.v2-flow ol{margin:6px 0 0;padding-left:1.4em;line-height:1.7;}

/* ---- 戻る／次へ ---- */
.v2-nav{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid var(--v2-line);background:var(--v2-panel);}
.v2-nav .btn{height:40px;padding:0 14px;white-space:nowrap;}
.v2-navmid{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;}
.v2-stepname{font-size:11px;font-weight:800;color:var(--v2-sub);letter-spacing:.06em;}
.v2-estchip{font-size:12px;font-weight:700;color:var(--v2-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
body.v2[data-step="1"] #v2Prev{visibility:hidden;}
body.v2[data-step="5"] #v2Next{display:none;}

/* ---- スマホ ---- */
@media (max-width:820px){
  body.v2 header.v2-head{height:auto;min-height:52px;flex-wrap:wrap;padding:4px 8px;gap:4px 6px;}
  body.v2 header.v2-head .brand-name{display:none;}
  body.v2 header.v2-head .head-actions{margin-left:auto;flex-wrap:wrap;justify-content:flex-end;}
  body.v2 header.v2-head .head-actions{gap:4px;}
  body.v2 header.v2-head .viewtoggle .vt{padding:0 7px;font-size:11px;height:30px;}
  body.v2 header.v2-head #btnXitem,body.v2 header.v2-head #btnExport,body.v2 header.v2-head #btnQuote{display:none;}   /* 4確認・5依頼にある */
  body.v2 header.v2-head #btnSave .label-mb{display:none;}
  body.v2 header.v2-head #btnSave{width:38px;padding:0;justify-content:center;}
  body.v2 header.v2-head .hsep{display:none;}
  body.v2 header.v2-head .v2-stepper{display:none;}          /* シートの頭に移す（JS） */
  body.v2 #sheetHead .v2-stepper{display:flex;justify-content:space-between;padding:6px 10px 2px;gap:2px;}
  body.v2 #sheetHead .v2-step{padding:0 4px;height:32px;font-size:12px;gap:5px;}
  body.v2 #sheetHead .v2-step{background:transparent;border-color:transparent;color:var(--v2-sub);}
  body.v2 #sheetHead .v2-step b{background:#eee;color:var(--v2-ink);width:22px;height:22px;}
  body.v2 #sheetHead .v2-step.on{background:transparent;color:var(--v2-accent);}
  body.v2 #sheetHead .v2-step.on b{background:var(--v2-accent);color:#fff;}
  body.v2 #sheetHead .v2-step.done b{background:var(--v2-ink);color:#fff;}
  body.v2 #sheetHead .v2-step + .v2-step::before{display:none;}
  body.v2 #sheetHead .v2-step span{display:none;}
  body.v2 #sheetHead .v2-step.on span{display:inline;}
  /* 戻る／次へはシートの頭（ステッパーの下）に置く（JSで移動）。畳んでいても常に見える */
  body.v2 #sheetHead .v2-nav{position:static;padding:4px 10px 8px;border-top:0;background:transparent;box-shadow:none;}
  body.v2 #sheetHead .v2-nav .btn{height:36px;padding:0 12px;font-size:12.5px;}
  body.v2 #sheetHead .v2-stepper{padding-right:52px;}   /* 右上の×ボタンと重ならない */
  .v2-methods{grid-template-columns:1fr 1fr;}
}

/* ---- 変換／完成イメージはキャンバス列だけに出す（サイドバー・右ドックは残る）＋ふわっと出す ---- */
body.v2 .stage{position:relative;}
body.v2 .stage .stage3d{position:absolute;inset:0;z-index:40;border-radius:0;}
@keyframes v2fade{from{opacity:0}to{opacity:1}}
body.v2 .stage3d.show{animation:v2fade .22s ease;}
@media (max-width:820px){ body.v2 .stage .stage3d{inset:0 0 calc(var(--sheet-vis,72px) + env(safe-area-inset-bottom)) 0;} }
/* 変換／完成イメージを開いている間は、キャンバス用の操作バー（前面/背面…・実寸）とクイックバーを隠す（下の操作パネルと重なる） */
body.v2:has(.stage3d.show) .objbar,
body.v2:has(.stage3d.show) #objbar,
body.v2:has(.stage3d.show) #quickbar,
body.v2:has(.stage3d.show) .stage-hint,
body.v2:has(.stage3d.show) .guide-dim,
body.v2:has(.stage3d.show) .zoombar,
body.v2:has(.stage3d.show) #zoomBar{display:none !important;}

/* ---- 小物モード（一つのイメージで完結） ---- */
body.v2:not(.v2-goods) .v2-goods-only{display:none !important;}
body.v2.v2-goods #v2SpecCard{display:none !important;}                 /* 加工方法はアパレル向け。小物は枚数を依頼で聞く */
body.v2.v2-goods .viewtoggle{display:none !important;}                 /* 全体/デザイン/変換 の切替なし */
body.v2.v2-goods .v2-step[data-step="2"],body.v2.v2-goods .v2-step[data-step="3"]{display:none !important;}
body.v2.v2-goods .card[data-panel="upload"] h3{font-size:14px;}
body.v2.v2-goods #diecutEntry,body.v2.v2-goods #diecutEntryNote{display:none !important;}   /* 「細かく調整する」に置き換え */
body.v2.v2-goods .matstrip{display:none !important;}
.v2-edge{display:flex;align-items:center;gap:10px;margin-top:6px;}
.v2-edge input{flex:1 1 auto;}
.v2-edge b{font-size:12.5px;min-width:52px;text-align:right;}
.v2-cutinfo{margin-top:6px;padding:9px 11px;border-radius:10px;background:var(--v2-bg);font-size:12.5px;}
.v2-cutinfo b{font-size:14px;}
.v2-cutinfo small{display:block;color:var(--v2-sub);font-size:11.5px;margin-top:2px;}
.v2-row2{display:grid;grid-template-columns:1fr 1fr;gap:8px;}

/* 小物では Tシャツ向けの道具を出さない（森さん「Tシャツのテンプレとかが入っているから分かりにくい」2026-09-02） */
body.v2.v2-goods .card[data-panel="ai"],
body.v2.v2-goods .card[data-panel="material"],
body.v2.v2-goods .card[data-panel="arrange"],
body.v2.v2-goods .card[data-panel="shapeEdit"],
body.v2.v2-goods .nn-entry,
body.v2.v2-goods #btnNames,
body.v2.v2-goods .compose-hint,
body.v2.v2-goods #silkBtnText, body.v2.v2-goods #silkBtnShape,
body.v2.v2-goods #silkWrapText, body.v2.v2-goods #silkWrapShape,
body.v2.v2-goods #recolorWrap{display:none !important;}
body.v2.v2-goods #v2CanvaCard .v2-steps-list{font-size:12px;}
body.v2.v2-goods .silkbtn-row, body.v2.v2-goods label:has(+ .silkbtn-row){display:none !important;}

/* 小物の「仕上がり」カード: 形・台紙・フチ・切り抜き線をひとまとめ。長い注記は出さない */
body.v2.v2-goods #dieSizeNote{display:none !important;}
body.v2.v2-goods #v2GoodsCard #dieOpts label.fld{margin-top:8px;}
body.v2.v2-goods #v2GoodsCard #dieOpts label.fld .fld-sub{display:none;}
body.v2.v2-goods #v2GoodsCard .v2-btns{margin-top:8px;}
body.v2.v2-goods #v2GoodsAdv{font-size:12px;height:34px;}
body.v2.v2-goods .card[data-panel="product"] .nowmaking{margin-bottom:0;}

/* ---- 背景を消す？（画像を置いた直後） ---- */
.v2-bgask{position:absolute;top:14px;left:50%;transform:translateX(-50%) translateY(-8px);z-index:45;display:none;align-items:center;gap:14px;max-width:min(92%,640px);
  padding:12px 14px 12px 16px;border-radius:14px;background:#fff;border:1px solid var(--v2-line);box-shadow:0 10px 30px rgba(0,0,0,.14);opacity:0;transition:opacity .18s,transform .18s;}
.v2-bgask.show{display:flex;opacity:1;transform:translateX(-50%) translateY(0);}
.v2-bgask-t{display:flex;flex-direction:column;gap:2px;min-width:0;}
.v2-bgask-t b{font-size:14px;}
.v2-bgask-t small{font-size:11.5px;color:var(--v2-sub);line-height:1.4;}
.v2-bgask-b{display:flex;gap:8px;flex:none;}
.v2-bgask-b .btn{height:38px;padding:0 14px;white-space:nowrap;}
@media (max-width:820px){ .v2-bgask{flex-direction:column;align-items:stretch;top:8px;padding:10px 12px;} .v2-bgask-b .btn{flex:1 1 auto;} }
/* 画像の調整カードでは「背景を消す」を主役に */
body.v2 #bgAiRemove{font-weight:800;}

/* ---- 画像を整える ---- */
.v2-fixrow .mini.note{margin-top:6px;}
.v2-fixq{display:flex;gap:8px;align-items:flex-start;margin-top:10px;padding:9px 11px;border-radius:10px;background:var(--v2-bg);font-size:12.5px;line-height:1.5;}
.v2-fixq:empty{display:none;}
.v2-fixq .ic{flex:none;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;color:#fff;background:var(--v2-ok);}
.v2-fixq.warn .ic{background:var(--v2-warn);} .v2-fixq.ng .ic{background:var(--v2-ng);}
.v2-fixsize{display:flex;gap:10px;margin-top:6px;font-size:12.5px;}
.v2-fixsize label{display:flex;align-items:center;gap:4px;}
.v2-fixsize input{width:70px;padding:6px 8px;}
/* 旧の「画像の調整」カードは「細かく調整する」で開くまで畳んでおく */
body.v2 #imgPanel{display:none !important;}
body.v2 #imgPanel.v2-open{display:block !important;}

/* ---- 小物: どのくらいの大きさ？ ---- */
.v2-sizepick{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px;}
.v2-sizeopt{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:9px 11px;border:1px solid var(--v2-line);border-radius:12px;background:#fff;cursor:pointer;text-align:left;color:var(--v2-ink);}
.v2-sizeopt b{font-size:15px;}
.v2-sizeopt span{font-size:12px;font-weight:700;}
.v2-sizeopt small{font-size:10.5px;color:var(--v2-sub);}
.v2-sizeopt.on{border-color:var(--v2-accent);box-shadow:inset 0 0 0 1.5px var(--v2-accent);}
.v2-sizefree{margin-top:8px;font-size:12.5px;}
.v2-sizefree label{display:flex;align-items:center;gap:6px;}
.v2-sizefree input{width:76px;padding:6px 8px;}
body.v2.v2-goods #dieSizeChips, body.v2.v2-goods #dieOpts label.fld:nth-of-type(2){display:none !important;}   /* 台紙チップは v2 の選択肢に置き換え */
body.v2.v2-goods #v2ShapeHome #dieOpts{margin-top:10px;}
/* 背景削除の入口は「画像を整える」カード（＋置いた直後の確認バー）に一本化。上のクイックバーのAI背景削除は出さない（森さん 2026-09-02「2つあって機能が違いそう」） */
body.v2 #qbAiBg{display:none !important;}

.v2-spin{display:inline-block;width:14px;height:14px;border:2px solid rgba(0,0,0,.15);border-top-color:var(--v2-accent);border-radius:50%;margin-right:6px;vertical-align:-2px;animation:v2spin .8s linear infinite;}
@keyframes v2spin{to{transform:rotate(360deg)}}
.v2-bgask.busy{border-color:var(--v2-accent);}

/* ---- 商品選び（ステップ1の先頭。旧スタート画面は出さない） ---- */
body.v2 #startScreen{display:none !important;}
#v2PickCard .ss-cats{justify-content:flex-start;gap:6px;margin:4px 0 10px;}
#v2PickCard .ss-cat{font-size:12px;font-weight:800;padding:7px 12px;min-height:34px;}
#v2PickCard .ss-grid{grid-template-columns:repeat(2,1fr);gap:8px;}
#v2PickCard .ss-card{padding:8px 6px 7px;gap:5px;border-radius:12px;}
#v2PickCard .ss-card:hover{transform:none;}
#v2PickCard .ss-card.on{border-color:var(--v2-accent);box-shadow:inset 0 0 0 1.5px var(--v2-accent);}
#v2PickCard .ss-thumb{height:64px;border-radius:8px;}
#v2PickCard .ss-name{font-size:12px;}
#v2PickCard .ss-sub{font-size:10.5px;}
#v2PickCard .ss-note{margin-top:8px;text-align:left;font-size:11px;}
body.v2.v2-goods #v2PickCard{display:block;}
/* ---- 見た目の軽い刷新: カードを平らに・見出しを小さく強く ---- */
body.v2 #tools .card{border:1px solid var(--v2-line);box-shadow:none;border-radius:14px;}
body.v2 #tools .card.card-primary{border-color:#f1c4c0;background:#fffdfc;}
body.v2 #tools .card > h3{font-size:12.5px;letter-spacing:.02em;}
body.v2 #tools .card > h3 .dot{width:7px;height:7px;}
body.v2 .layer-dock .card{border:1px solid var(--v2-line);box-shadow:none;border-radius:14px;}

/* ---- ヘッダー明色化（M3b）: 黒バーをやめ、白地・細い罫線・黒文字。差し色は赤だけ ---- */
body.v2 header.v2-head{background:#fff;color:var(--v2-ink);border-bottom:1px solid var(--v2-line);}
body.v2 header.v2-head .brand{color:var(--v2-ink);}
body.v2 header.v2-head .brand .logo{filter:none;}
body.v2 header.v2-head .brand-name .accent{color:var(--v2-ink);}
body.v2 header.v2-head .icobtn{color:var(--v2-ink);background:transparent;}
body.v2 header.v2-head .icobtn:hover:not(:disabled){background:var(--v2-bg);}
body.v2 header.v2-head .hsep{background:var(--v2-line);}
body.v2 header.v2-head .btn-ghost{color:var(--v2-ink);box-shadow:inset 0 0 0 1px var(--v2-line);background:transparent;}
body.v2 header.v2-head .btn-ghost:hover{box-shadow:inset 0 0 0 1px var(--v2-ink);background:var(--v2-bg);}
body.v2 header.v2-head #btnExport{background:transparent;color:var(--v2-ink);box-shadow:inset 0 0 0 1px var(--v2-line);}
body.v2 header.v2-head .viewtoggle{border-color:var(--v2-line);background:var(--v2-bg);}
body.v2 header.v2-head .viewtoggle .vt{color:var(--v2-sub);}
body.v2 header.v2-head .viewtoggle .vt.on{background:var(--v2-ink);color:#fff;}
body.v2 .v2-step{border-color:transparent;background:var(--v2-bg);color:var(--v2-sub);}
body.v2 .v2-step b{background:#e8e4dd;color:var(--v2-ink);}
body.v2 .v2-step:hover{background:#ece9e3;color:var(--v2-ink);}
body.v2 .v2-step.on{background:var(--v2-accent);color:#fff;}
body.v2 .v2-step.on b{background:#fff;color:var(--v2-accent);}
body.v2 .v2-step.done{background:var(--v2-bg);color:var(--v2-ink);}
body.v2 .v2-step.done b{background:var(--v2-ink);color:#fff;}
body.v2 .v2-step + .v2-step::before{background:var(--v2-line);}
body.v2 .exp-menu{color:var(--v2-ink);}
@media (max-width:820px){ body.v2 header.v2-head #btnSave svg{display:block;width:18px;height:18px;} }   /* SPは旧CSSがアイコンを消して文字を出す設計。v2はアイコンだけにする */
body.v2 .toast .t-act{white-space:nowrap;}   /* SPで「続きから」が縦書きになっていた */

/* ---- 依頼: パネル内で完結 ---- */
body.v2 #modal{display:none !important;}
body.v2 #sizeConfirm{display:none !important;}
.v2-disclaim{margin-top:10px;padding:9px 11px;border-radius:10px;background:#fff7f0;border:1px solid #f3dcc8;font-size:12px;line-height:1.6;color:var(--v2-ink);}
#v2ReqFormHome{margin-top:12px;}
#v2ReqFormHome .quote-summary{margin:0 0 10px;}
#v2ReqFormHome #quoteForm{text-align:left;}
#v2ReqFormHome .qf-input{width:100%;}
#v2ReqFormHome #quoteSend{margin-top:10px;}
#v2ReqFormHome .quote-done{padding:12px;border-radius:12px;background:var(--v2-bg);}
/* 依頼: 仕様の二重表示を避ける（v2のまとめを正とし、旧はサムネだけ使う）。長い値は折り返す */
#v2ReqFormHome #quoteSpec{display:none;}
#v2ReqFormHome .quote-summary{justify-content:center;}
#v2ReqFormHome #quoteThumb{max-width:160px;}
.v2-summary li .v{white-space:normal;text-align:right;max-width:60%;}

/* =====================================================================
   M3e デザインパス — めりはり（森さん 2026-09-03「真っ白すぎる。Canvaのようにスタイリッシュに」）
   考え方: 作業面はやや暗い地／パネルは白／赤は主要ボタンと現在地だけ／選択中は黒／角丸16・影は薄く
   ===================================================================== */
body.v2{font-family:"Noto Sans JP","Hiragino Sans",system-ui,sans-serif;}
body.v2 main{background:#edebe6;}
body.v2 .stage{background:radial-gradient(circle at 1px 1px,rgba(0,0,0,.07) 1px,transparent 0) 0 0/22px 22px,#e9e7e1;}
body.v2 .tools{background:#f4f2ee;border-right:1px solid #e3dfd8;}
body.v2 #sheetBody{padding:12px;}
body.v2 .layer-dock{background:#f4f2ee;border-left:1px solid #e3dfd8;}
/* カード */
body.v2 #tools .card,body.v2 .layer-dock .card{background:#fff;border:1px solid #e6e2dc;border-radius:16px;padding:14px 15px;box-shadow:0 1px 2px rgba(0,0,0,.03),0 10px 24px -20px rgba(0,0,0,.35);margin-bottom:10px;}
body.v2 #tools .card.card-primary{border-color:#f1c9c5;background:#fff;}
body.v2 #tools .card > h3,body.v2 .layer-dock .card > h3{font-size:13.5px;font-weight:800;color:var(--v2-ink);letter-spacing:.01em;margin-bottom:12px;}
body.v2 .card h3 .dot{width:4px;height:15px;border-radius:2px;background:var(--v2-accent);flex:none;}
body.v2 .card.collapsed > h3{margin-bottom:0;}
body.v2 .card .fld{font-size:12px;font-weight:800;color:var(--v2-ink);margin-top:12px;}
body.v2 .card .fld .fld-sub{font-weight:500;color:var(--v2-sub);}
body.v2 .card .mini.note{font-size:11.5px;color:var(--v2-sub);line-height:1.6;}
/* ボタン・チップ・入力 */
body.v2 .btn{border-radius:999px;font-weight:800;font-size:13.5px;letter-spacing:.01em;}
body.v2 .btn-primary{background:var(--v2-accent);box-shadow:0 8px 18px -8px rgba(226,35,26,.55);}
body.v2 .btn-primary:hover{background:#f03a31;}
body.v2 .btn-ghost{box-shadow:inset 0 0 0 1px #dcd7cf;background:#fff;}
body.v2 .btn-ghost:hover{box-shadow:inset 0 0 0 1px var(--v2-ink);background:#fff;}
body.v2 .btn-block{height:44px;}
body.v2 .chip{border-radius:999px;background:#f3f1ec;border:1px solid transparent;color:var(--v2-ink);font-weight:700;padding:7px 12px;}
body.v2 .chip:hover{background:#ebe8e2;}
body.v2 .chip.on,body.v2 .chip[aria-pressed="true"]{background:var(--v2-ink);color:#fff;border-color:var(--v2-ink);}
body.v2 .qf-input,body.v2 input[type="number"].qf-input,body.v2 textarea.qf-input{border:1px solid #dcd7cf;border-radius:12px;background:#fff;font-size:14px;}
body.v2 .qf-input:focus{outline:none;border-color:var(--v2-ink);box-shadow:0 0 0 3px rgba(26,26,26,.08);}
body.v2 .facetab{border-radius:12px;background:#f7f5f1;border:1px solid transparent;font-weight:800;}
body.v2 .facetab.active{background:#fff;border-color:var(--v2-accent);box-shadow:inset 0 0 0 1.5px var(--v2-accent);color:var(--v2-ink);}
body.v2 .swatch{width:32px;height:32px;border:2px solid #fff;box-shadow:0 0 0 1px #d9d4cc;}
body.v2 .swatch.on,body.v2 .swatch[aria-pressed="true"]{box-shadow:0 0 0 2px var(--v2-ink);}
body.v2 .v2-method,body.v2 .v2-sizeopt{border-radius:14px;border:1px solid #e3dfd8;background:#fbfaf8;}
body.v2 .v2-method.on,body.v2 .v2-sizeopt.on{background:#fff;border-color:var(--v2-ink);box-shadow:inset 0 0 0 1.5px var(--v2-ink);}
body.v2 .v2-estbox,body.v2 .v2-checklist li,body.v2 .v2-flow,body.v2 .v2-fixq,body.v2 .v2-cutinfo{background:#f6f4ef;border-radius:12px;}
body.v2 .v2-disclaim{background:#fff8f0;border-color:#f0d9c4;}
/* いま作っているもの（商品カード上部） */
body.v2 .nowmaking{border-radius:14px;}
/* 商品選び */
body.v2 #v2PickCard .ss-card{border:1px solid #e6e2dc;background:#fff;}
body.v2 #v2PickCard .ss-card.on{border-color:var(--v2-ink);box-shadow:inset 0 0 0 1.5px var(--v2-ink);}
body.v2 #v2PickCard .ss-cat{border:1px solid transparent;background:#f3f1ec;color:var(--v2-ink);}
body.v2 #v2PickCard .ss-cat.on{background:var(--v2-ink);color:#fff;border-color:var(--v2-ink);}
body.v2 #v2PickCard .ss-thumb{background:#f1efe9;}
/* 画像を入れる（ドロップ枠） */
body.v2 .upload-box,body.v2 #uploadBox{border:1.5px dashed #cfc9bf;border-radius:14px;background:#fbfaf8;}
body.v2 #uploadBox:hover{border-color:var(--v2-ink);background:#fff;}
/* ヘッダー */
body.v2 header.v2-head{box-shadow:0 1px 0 #e6e2dc,0 6px 18px -16px rgba(0,0,0,.25);z-index:5;}
body.v2 .v2-step{font-weight:800;}
body.v2 .v2-step.on{box-shadow:0 8px 18px -10px rgba(226,35,26,.6);}
/* 戻る／次へ */
body.v2 .v2-nav{background:#fff;border-top:1px solid #e6e2dc;}
body.v2 .v2-nav #v2Next{height:44px;padding:0 22px;font-size:14px;}
body.v2 .v2-stepname{text-transform:uppercase;letter-spacing:.12em;font-size:10.5px;}
/* 右ドックの実寸表 */
body.v2 .ps-row{font-size:12.5px;}
body.v2 .ps-row.cur .ps-k{color:var(--v2-accent);}
/* ズーム・操作バー */
body.v2 .zoombar{border-radius:999px;padding:4px 6px;border-color:#e6e2dc;}
body.v2 .objbar{border-radius:16px;border-color:#e6e2dc;box-shadow:0 12px 30px -14px rgba(0,0,0,.35);}
body.v2 .quickbar{border-radius:14px;}
/* スマホのシート */
@media (max-width:820px){
  body.v2 .tools{background:#fff;border-right:0;border-radius:22px 22px 0 0;box-shadow:0 -10px 30px -18px rgba(0,0,0,.35);}
  body.v2 #sheetBody{padding:10px 12px;}
  body.v2 #tools .card{box-shadow:none;border-color:#ebe7e0;}
}

/* =====================================================================
   テーマ候補（?theme=dark / ?theme=red で切替・比較用）— 森さん「白が基本すぎる。ヘッダーやフッターを変える」2026-09-03
   ===================================================================== */
/* A: チャコールのヘッダー＋フッター（Canva/Figma型） */
body.v2.theme-dark header.v2-head{background:#1b1b1b;color:#fff;border-bottom:0;box-shadow:0 8px 24px -16px rgba(0,0,0,.6);}
body.v2.theme-dark header.v2-head .brand{color:#fff;}
body.v2.theme-dark header.v2-head .brand .logo{filter:invert(1) brightness(2);}
body.v2.theme-dark header.v2-head .icobtn{color:#fff;}
body.v2.theme-dark header.v2-head .icobtn:hover:not(:disabled){background:rgba(255,255,255,.12);}
body.v2.theme-dark header.v2-head .hsep{background:rgba(255,255,255,.14);}
body.v2.theme-dark header.v2-head .btn-ghost,body.v2.theme-dark header.v2-head #btnExport{color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);background:transparent;}
body.v2.theme-dark header.v2-head .viewtoggle{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);}
body.v2.theme-dark header.v2-head .viewtoggle .vt{color:rgba(255,255,255,.72);}
body.v2.theme-dark header.v2-head .viewtoggle .vt.on{background:#fff;color:#1b1b1b;}
body.v2.theme-dark .v2-step{background:rgba(255,255,255,.08);color:rgba(255,255,255,.75);}
body.v2.theme-dark .v2-step b{background:rgba(255,255,255,.16);color:#fff;}
body.v2.theme-dark .v2-step:hover{background:rgba(255,255,255,.14);color:#fff;}
body.v2.theme-dark .v2-step.on{background:var(--v2-accent);color:#fff;}
body.v2.theme-dark .v2-step.on b{background:#fff;color:var(--v2-accent);}
body.v2.theme-dark .v2-step.done{background:rgba(255,255,255,.08);color:#fff;}
body.v2.theme-dark .v2-step.done b{background:#fff;color:#1b1b1b;}
body.v2.theme-dark .v2-step + .v2-step::before{background:rgba(255,255,255,.2);}
body.v2.theme-dark .v2-nav{background:#1b1b1b;border-top:0;color:#fff;}
body.v2.theme-dark .v2-nav .btn-ghost{color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);background:transparent;}
body.v2.theme-dark .v2-stepname{color:rgba(255,255,255,.6);}
body.v2.theme-dark .v2-estchip{color:#fff;}
body.v2.theme-dark .layer-dock,body.v2.theme-dark .tools{background:#f4f2ee;}
@media (max-width:820px){
  body.v2.theme-dark #sheetHead .v2-step{color:var(--v2-sub);background:transparent;}
  body.v2.theme-dark #sheetHead .v2-step b{background:#eee;color:var(--v2-ink);}
  body.v2.theme-dark #sheetHead .v2-step.on{color:var(--v2-accent);} body.v2.theme-dark #sheetHead .v2-step.on b{background:var(--v2-accent);color:#fff;}
  body.v2.theme-dark #sheetHead .v2-step.done b{background:var(--v2-ink);color:#fff;}
  body.v2.theme-dark #sheetHead .v2-nav{background:transparent;color:var(--v2-ink);}
  body.v2.theme-dark #sheetHead .v2-nav .btn-ghost{color:var(--v2-ink);box-shadow:inset 0 0 0 1px #dcd7cf;background:#fff;}
  body.v2.theme-dark #sheetHead .v2-stepname{color:var(--v2-sub);}
}
/* B: 赤のグラデーションヘッダー（ブランド前面） */
body.v2.theme-red header.v2-head{background:linear-gradient(100deg,#c8170f 0%,#e2231a 55%,#f04b3c 100%);color:#fff;border-bottom:0;box-shadow:0 10px 26px -16px rgba(200,23,15,.7);}
body.v2.theme-red header.v2-head .brand{color:#fff;}
body.v2.theme-red header.v2-head .brand .logo{filter:invert(1) brightness(2);}
body.v2.theme-red header.v2-head .icobtn{color:#fff;}
body.v2.theme-red header.v2-head .icobtn:hover:not(:disabled){background:rgba(255,255,255,.16);}
body.v2.theme-red header.v2-head .hsep{background:rgba(255,255,255,.25);}
body.v2.theme-red header.v2-head .btn-ghost,body.v2.theme-red header.v2-head #btnExport{color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);background:transparent;}
body.v2.theme-red header.v2-head #btnQuote{background:#1b1b1b;box-shadow:none;}
body.v2.theme-red header.v2-head .viewtoggle{background:rgba(0,0,0,.18);border-color:rgba(255,255,255,.25);}
body.v2.theme-red header.v2-head .viewtoggle .vt{color:rgba(255,255,255,.8);}
body.v2.theme-red header.v2-head .viewtoggle .vt.on{background:#fff;color:#c8170f;}
body.v2.theme-red .v2-step{background:rgba(255,255,255,.14);color:rgba(255,255,255,.85);}
body.v2.theme-red .v2-step b{background:rgba(255,255,255,.22);color:#fff;}
body.v2.theme-red .v2-step:hover{background:rgba(255,255,255,.22);color:#fff;}
body.v2.theme-red .v2-step.on{background:#fff;color:#c8170f;box-shadow:0 8px 18px -10px rgba(0,0,0,.4);}
body.v2.theme-red .v2-step.on b{background:#c8170f;color:#fff;}
body.v2.theme-red .v2-step.done{background:rgba(255,255,255,.14);color:#fff;}
body.v2.theme-red .v2-step.done b{background:#fff;color:#c8170f;}
body.v2.theme-red .v2-step + .v2-step::before{background:rgba(255,255,255,.35);}
body.v2.theme-red .v2-nav{background:#1b1b1b;border-top:0;color:#fff;}
body.v2.theme-red .v2-nav .btn-ghost{color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);background:transparent;}
body.v2.theme-red .v2-stepname{color:rgba(255,255,255,.6);}
body.v2.theme-red .v2-estchip{color:#fff;}
@media (max-width:820px){
  body.v2.theme-red #sheetHead .v2-step{color:var(--v2-sub);background:transparent;}
  body.v2.theme-red #sheetHead .v2-step b{background:#eee;color:var(--v2-ink);}
  body.v2.theme-red #sheetHead .v2-step.on{color:var(--v2-accent);background:transparent;box-shadow:none;} body.v2.theme-red #sheetHead .v2-step.on b{background:var(--v2-accent);color:#fff;}
  body.v2.theme-red #sheetHead .v2-step.done b{background:var(--v2-ink);color:#fff;}
  body.v2.theme-red #sheetHead .v2-nav{background:transparent;color:var(--v2-ink);}
  body.v2.theme-red #sheetHead .v2-nav .btn-ghost{color:var(--v2-ink);box-shadow:inset 0 0 0 1px #dcd7cf;background:#fff;}
  body.v2.theme-red #sheetHead .v2-stepname{color:var(--v2-sub);}
}

/* ---- ステップの一言ヒント／画像を入れるを主役に ---- */
.v2-stephint{font-size:12.5px;font-weight:700;color:var(--v2-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
body.v2.theme-dark .v2-stephint{color:#fff;}
@media (max-width:820px){ body.v2 #sheetHead .v2-stephint{color:var(--v2-ink);} }
body.v2 #uploadBox{padding:26px 14px;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-weight:800;color:var(--v2-ink);cursor:pointer;}
body.v2 #uploadBox svg{width:34px;height:34px;color:var(--v2-accent);}
body.v2 #uploadBox .mini,body.v2 #uploadBox small{font-weight:500;color:var(--v2-sub);}
body.v2 .card[data-panel="upload"]{border-color:#f1c9c5;}
/* 商品カード「いま作っているもの」の階層 */
body.v2 .nowmaking{padding:12px;}
body.v2 .nowmaking #nmProduct{font-size:14px;font-weight:800;}
body.v2 .nowmaking #nmMeta{font-size:12px;color:var(--v2-sub);}

/* =====================================================================
   M4c 調査トークン適用（設計/22_他社クローム配色調査 2026-09-03）
   ===================================================================== */
:root{--v2-ink:#111111;--v2-sub:#6B6B72;--v2-line:#E6E6E9;--v2-bg:#F7F7F8;--v2-chrome:#1F1F1F;--v2-canvas:#EDEDF0;--v2-guide:#4C8DFF;}
body.v2 main{background:var(--v2-canvas);}
body.v2 .stage{background:radial-gradient(circle at 1px 1px,rgba(0,0,0,.06) 1px,transparent 0) 0 0/22px 22px,var(--v2-canvas);}
body.v2 .tools,body.v2 .layer-dock{background:var(--v2-bg);border-color:#E6E6E9;}
body.v2 #tools .card,body.v2 .layer-dock .card{border:1px solid #E6E6E9;border-radius:10px;box-shadow:0 1px 2px rgba(0,0,0,.06);padding:14px;}
body.v2 #tools .card.card-primary{border:2px solid var(--v2-accent);background:#fff;}
body.v2 #tools .card > h3,body.v2 .layer-dock .card > h3{font-size:15px;font-weight:700;color:#111;margin-bottom:12px;}
body.v2 .card,body.v2 .card .mini,body.v2 .card label{font-size:14px;}
body.v2 .card .mini.note,body.v2 .card .fld-sub,body.v2 .card small{font-size:12px;}
body.v2 .card .fld{font-size:12px;font-weight:600;color:#111;letter-spacing:.02em;}
body.v2 .btn{border-radius:10px;font-size:14px;font-weight:700;}
body.v2 .btn-primary{box-shadow:none;} body.v2 .btn-primary:hover{background:#C51E16;} body.v2 .btn-primary:disabled{background:#5A5A5A;opacity:1;}
body.v2 .btn-ghost{box-shadow:inset 0 0 0 1px #C9C9CF;background:#fff;}
body.v2 .qf-input,body.v2 input[type="number"].qf-input,body.v2 textarea.qf-input{border-radius:8px;border-color:#C9C9CF;font-size:14px;}
body.v2 .chip{border-radius:999px;}
body.v2 .v2-method,body.v2 .v2-sizeopt,body.v2 #v2PickCard .ss-card{border-radius:10px;}
body.v2 .v2-method.on,body.v2 .v2-sizeopt.on,body.v2 #v2PickCard .ss-card.on,body.v2 .facetab.active{border:2px solid var(--v2-accent);box-shadow:none;background:#fff;color:#111;}
body.v2 .chip.on,body.v2 .chip[aria-pressed="true"]{background:#111;color:#fff;border-color:#111;}
/* ヘッダー＝墨。赤は面に使わない */
body.v2.theme-dark header.v2-head{background:var(--v2-chrome);height:56px;box-shadow:none;border-bottom:1px solid #333;}
body.v2.theme-dark .v2-step{background:transparent;color:rgba(255,255,255,.45);border:0;padding:0 10px 0 4px;}
body.v2.theme-dark .v2-step b{background:transparent;color:rgba(255,255,255,.55);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.28);}
body.v2.theme-dark .v2-step:hover{background:rgba(255,255,255,.06);color:#fff;}
body.v2.theme-dark .v2-step.on{background:transparent;color:#fff;box-shadow:none;}
body.v2.theme-dark .v2-step.on b{background:var(--v2-accent);color:#fff;box-shadow:none;}
body.v2.theme-dark .v2-step.done{background:transparent;color:rgba(255,255,255,.72);}
body.v2.theme-dark .v2-step.done b{background:#3A3A3A;color:#fff;box-shadow:none;}
body.v2.theme-dark .v2-step + .v2-step::before{background:rgba(255,255,255,.18);width:14px;}
body.v2.theme-dark .v2-step.done + .v2-step::before,body.v2.theme-dark .v2-step.on + .v2-step::before{background:rgba(255,255,255,.45);}
body.v2.theme-dark header.v2-head .viewtoggle{background:transparent;border-color:rgba(255,255,255,.22);}
body.v2.theme-dark header.v2-head .viewtoggle .vt.on{background:#fff;color:#111;}
body.v2.theme-dark header.v2-head #btnQuote{border-radius:10px;}
/* 下部ナビ＝墨 */
body.v2.theme-dark .v2-nav{background:var(--v2-chrome);border-top:1px solid #333;height:64px;padding:0 12px;}
body.v2.theme-dark .v2-nav #v2Next{height:44px;border-radius:10px;font-size:15px;padding:0 22px;}
body.v2.theme-dark .v2-nav #v2Prev{box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);border-radius:10px;height:40px;}
body.v2.theme-dark .v2-stepname{color:rgba(255,255,255,.55);}
body.v2.theme-dark .v2-stephint{color:#fff;font-weight:600;}
body.v2.theme-dark .v2-estchip{color:#fff;}
/* 影は3段だけ */
body.v2 .objbar,body.v2 .quickbar,body.v2 .zoombar,body.v2 .v2-bgask{box-shadow:0 4px 16px rgba(0,0,0,.12);border-color:#E6E6E9;}
body.v2 .modal{box-shadow:0 12px 40px rgba(0,0,0,.18);border-radius:16px;}
/* スマホ: 下部ナビは画面下に固定・シートはその上で止まる */
@media (max-width:820px){
  body.v2 header.v2-head{min-height:48px;height:48px;padding:0 8px;}
  body.v2 header.v2-head .icobtn{width:40px;height:40px;}
  body.v2 .v2-nav.v2-nav-fixed{position:fixed;left:0;right:0;bottom:0;z-index:70;height:calc(60px + env(safe-area-inset-bottom));padding:0 12px env(safe-area-inset-bottom);background:var(--v2-chrome);border-top:1px solid #333;color:#fff;display:flex;align-items:center;gap:10px;}
  body.v2 .v2-nav.v2-nav-fixed #v2Next{flex:0 0 58%;height:44px;border-radius:10px;font-size:15px;}
  body.v2 .v2-nav.v2-nav-fixed #v2Prev{box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);color:#fff;background:transparent;height:40px;border-radius:10px;padding:0 12px;}
  body.v2 .v2-nav.v2-nav-fixed .v2-navmid{align-items:flex-start;}
  body.v2 .v2-nav.v2-nav-fixed .v2-stepname{color:rgba(255,255,255,.55);}
  body.v2 .v2-nav.v2-nav-fixed .v2-stephint{color:#fff;}
  body.v2 .v2-nav.v2-nav-fixed .v2-estchip{color:#fff;}
  body.v2.v2-navfixed .tools{bottom:calc(60px + env(safe-area-inset-bottom));}
  body.v2.v2-navfixed .stage{padding-bottom:calc(var(--sheet-vis,72px) + 60px + 8px + env(safe-area-inset-bottom));}
  /* 完成イメージ／細かく調整（stage3d系）の下端も、固定ナビ＋シートぶん上げる（画像を保存・詳細ボタンがシートに隠れていた） */
  body.v2.v2-navfixed .stage .stage3d{inset:0 0 calc(var(--sheet-vis,72px) + 60px + env(safe-area-inset-bottom)) 0;}
  body.v2.v2-navfixed .v2-bgask{top:8px;}
  body.v2 #sheetHead .v2-stepper{padding:8px 52px 6px 10px;}
  /* M5b: SPヘッダーは3要素（ロゴ／表示切替／戻す・やり直す）で1段48pxに収める。保存は4確認にある */
  body.v2 header.v2-head{height:48px;min-height:48px;flex-wrap:nowrap;overflow:hidden;padding:0 6px 0 8px;gap:6px;}
  body.v2 header.v2-head .brand{flex:0 0 auto;}
  body.v2 header.v2-head .brand .logo{height:26px;width:auto;}
  body.v2 header.v2-head .head-actions{flex:1 1 auto;min-width:0;flex-wrap:nowrap;justify-content:flex-end;gap:2px;}
  body.v2 header.v2-head .brandtoggle{display:none;}
  body.v2 header.v2-head .viewtoggle{flex:0 1 auto;min-width:0;margin-right:auto;}
  body.v2 header.v2-head .viewtoggle .vt{padding:0 7px;font-size:11px;height:30px;white-space:nowrap;}
  body.v2 header.v2-head .viewtoggle .vt svg{display:none;}
  body.v2 header.v2-head #btnSave{display:none;}
  body.v2 header.v2-head .icobtn{width:36px;height:36px;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:transparent;color:#fff;}
  body.v2 header.v2-head .icobtn:disabled{opacity:.35;}
  /* 下部ナビの中央: 1行目=いまの段（太字・白）、2行目=一言ヒント（薄）。折り返さない */
  body.v2 .v2-nav.v2-nav-fixed .v2-navmid{align-items:flex-start;gap:1px;overflow:hidden;}
  body.v2 .v2-nav.v2-nav-fixed .v2-stepname{font-size:13px;font-weight:800;color:#fff;letter-spacing:.02em;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
  body.v2 .v2-nav.v2-nav-fixed .v2-stephint{font-size:11px;font-weight:500;color:rgba(255,255,255,.6);}
  body.v2 .v2-nav.v2-nav-fixed #v2Next{flex:0 0 auto;min-width:118px;padding:0 18px;}
  body.v2 .v2-nav.v2-nav-fixed #v2Prev{flex:0 0 auto;}
  /* M5a: SPのシート頭は進捗バー＋2/5 だけ。5つの丸は隠す（要素は残す＝ロジック共用） */
  body.v2 #sheetHead .v2-stepper{display:none !important;}
  body.v2 .v2-progress{display:flex;align-items:center;gap:10px;padding:4px 52px 4px 14px;}
  body.v2 .v2-progress span{flex:1 1 auto;height:4px;border-radius:2px;background:#E6E6E9;overflow:hidden;}
  body.v2 .v2-progress i{display:block;height:100%;width:20%;background:var(--v2-accent);border-radius:2px;transition:width .25s ease;}
  body.v2 .v2-progress em{font-style:normal;font-size:12px;font-weight:700;color:var(--v2-sub);min-width:28px;text-align:right;letter-spacing:.02em;}
  /* M5c: SPのオブジェクトバーは横スクロール（右端が切れていた） */
  body.v2 .objbar{max-width:calc(100% - 16px);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  body.v2 .objbar::-webkit-scrollbar{display:none;}
}
/* M5c: PCのズームバーは作業面の右上へ（右下でオブジェクトバーと重なっていた）。下部ナビの段名は折り返さない */
@media (min-width:821px){
  body.v2 .zoombar{top:12px;bottom:auto;right:14px;}
  /* PC下部ナビは2段組み: 上=段名＋一言ヒント（1行・省略）、下=戻る／次へ（横いっぱい） */
  body.v2 .v2-nav{flex-wrap:wrap;height:auto;padding:8px 12px 10px;gap:6px 8px;}
  body.v2 .v2-navmid{order:-1;flex:1 0 100%;flex-direction:row;align-items:baseline;justify-content:flex-start;gap:8px;min-width:0;}
  body.v2 .v2-nav .v2-stepname{white-space:nowrap;flex:0 0 auto;}
  body.v2 .v2-nav .v2-stephint{flex:1 1 auto;min-width:0;}
  body.v2 .v2-nav .v2-estchip{flex:0 0 auto;}
  body.v2 .v2-nav #v2Prev{flex:0 0 auto;}
  body.v2 .v2-nav #v2Next{flex:1 1 auto;}
  body.v2[data-step="1"] .v2-nav #v2Prev{display:none;}
}
/* 依頼のまとめ: 数値を「約23.5×1…」と省略しない（免責文が「上の数字のとおり」と言っている）。項目名も値も折り返す */
body.v2 #v2ReqSummary li{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:6px 0;border-bottom:1px solid var(--v2-line);}
body.v2 #v2ReqSummary li .k{flex:0 1 44%;min-width:0;font-size:12px;color:var(--v2-sub);white-space:normal;overflow:visible;text-overflow:clip;}
body.v2 #v2ReqSummary li .v{flex:1 1 auto;min-width:0;max-width:none;text-align:right;font-size:13px;font-weight:700;color:var(--v2-ink);white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word;}
/* 横いっぱいのボタンは文字が長ければ折り返す（箱からはみ出さない。森さん 2026-09-03） */
body.v2 #tools .btn-block{white-space:normal;height:auto;min-height:44px;line-height:1.3;padding-top:10px;padding-bottom:10px;}
/* 済みステップは ✓ だけ（番号と二重にならない） */
body.v2 .v2-step.done b{font-size:0;}
body.v2 .v2-step.done b::before{font-size:13px;}
