/* ===== クラスT全員名前ロゴジェネレーター（#anmApp配下限定） ===== */
#anmApp{
  --anm-accent:#d4699a;
  --anm-accent-dark:#b74e81;
  --anm-bg:#fdf3f7;
  --anm-surface:#ffffff;
  --anm-surface2:#faf7f8;
  --anm-border:#eddbe4;
  --anm-text:#4a3a42;
  --anm-sub:#93808a;
  box-sizing:border-box;
  max-width:1080px;
  margin:0 auto;
  padding:18px 14px 30px;
  background:var(--anm-bg);
  border-radius:18px;
  color:var(--anm-text);
  font-family:'Hiragino Maru Gothic ProN','Hiragino Kaku Gothic ProN','Yu Gothic','Meiryo',sans-serif;
  line-height:1.6;
}
#anmApp *,#anmApp *::before,#anmApp *::after{box-sizing:border-box;}
#anmApp .anm-header{text-align:center;margin:4px 0 16px;}
#anmApp .anm-title{margin:0 0 4px;font-size:2rem;font-weight:700;color:var(--anm-accent-dark);}
#anmApp .anm-lead{margin:0;font-size:1.4rem;color:var(--anm-sub);}

/* --- 2カラムレイアウト --- */
#anmApp .anm-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start;}
#anmApp .anm-col-left,#anmApp .anm-col-right{display:flex;flex-direction:column;gap:14px;min-width:0;}
#anmApp .anm-col-left{position:sticky;top:12px;}

#anmApp .anm-card{background:var(--anm-surface);border:1px solid var(--anm-border);border-radius:14px;padding:14px;box-shadow:0 2px 8px rgba(212,105,154,.08);}
#anmApp .anm-card-label{font-size:1.4rem;font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:8px;}

/* --- プレビュー ---
   プリント位置・サイズの微調整はこの3変数を書き換えてください
   （PNG保存もこの値を自動で読み取るため、プレビューと保存は常に一致します） */
#anmApp{
  --anm-print-top:calc(17% + 20px);  /* プリントの上位置（基準17%から20px下げ） */
  --anm-print-left:27.6%;   /* プリントの左位置（中央揃え） */
  --anm-print-width:44.8%;  /* プリントの幅（元56%の80%） */
}
#anmApp .anm-stage{border-radius:10px;background:#ffffff;border:1px solid var(--anm-border);padding:4px;}
#anmApp .anm-stage-shirt{position:relative;width:100%;}
#anmApp .anm-shirt-img{display:block;width:100%;height:auto;}
#anmApp .anm-print{position:absolute;top:var(--anm-print-top);left:var(--anm-print-left);width:var(--anm-print-width);pointer-events:none;}
#anmApp .anm-svg-holder{width:100%;}
#anmApp .anm-svg-holder svg{display:block;width:100%;height:auto;}
#anmApp .anm-stage-caption{text-align:center;font-size:1.4rem;color:var(--anm-sub);margin-top:8px;font-weight:600;}

/* --- Tシャツカラー（実写真サムネイル） --- */
#anmApp .anm-shirt-name{color:var(--anm-accent-dark);font-weight:700;margin-left:6px;}
#anmApp .anm-shirt-grid{display:flex;flex-wrap:wrap;gap:5px;max-height:230px;overflow:auto;padding:2px;}
#anmApp .anm-shirt-thumb{width:44px;height:44px;padding:1px;border:2px solid transparent;border-radius:9px;background:#fff;cursor:pointer;position:relative;flex:0 0 auto;}
#anmApp .anm-shirt-thumb img{display:block;width:100%;height:100%;object-fit:contain;}
#anmApp .anm-shirt-thumb[aria-pressed="true"]{border-color:#3a3a3a;}
#anmApp .anm-shirt-thumb:focus-visible{outline:3px solid var(--anm-accent);outline-offset:2px;}

/* --- 設定情報パネル --- */
#anmApp .anm-info{padding:12px 14px;}
#anmApp .anm-info-title{font-size:1.4rem;font-weight:700;color:var(--anm-accent-dark);margin-bottom:6px;}
#anmApp .anm-info-row{display:flex;justify-content:space-between;gap:10px;font-size:1.4rem;padding:4px 0;border-bottom:1px dashed var(--anm-border);}
#anmApp .anm-info-row:last-child{border-bottom:none;}
#anmApp .anm-info-key{color:var(--anm-sub);white-space:nowrap;}
#anmApp .anm-info-val{font-weight:600;text-align:right;display:flex;align-items:center;gap:6px;justify-content:flex-end;min-width:0;}
#anmApp .anm-info-dot{width:13px;height:13px;border-radius:50%;border:1px solid #c9b6bf;flex:0 0 auto;display:inline-block;}

/* --- フォーム --- */
#anmApp .anm-field{margin-bottom:12px;}
#anmApp .anm-field:last-child{margin-bottom:0;}
#anmApp .anm-label{display:block;font-size:1.4rem;font-weight:600;margin-bottom:4px;}
#anmApp .anm-input{width:100%;font-size:1.4rem;padding:8px 10px;border:1px solid var(--anm-border);border-radius:8px;background:var(--anm-surface2);color:var(--anm-text);}
#anmApp .anm-input-s{max-width:140px;}
#anmApp .anm-input:focus-visible{outline:3px solid var(--anm-accent);outline-offset:1px;}

/* --- 自作フォントプルダウン --- */
#anmApp .anm-dd{position:relative;}
#anmApp .anm-dd-btn{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:1.4rem;padding:8px 10px;border:1px solid var(--anm-border);border-radius:8px;background:var(--anm-surface2);color:var(--anm-text);cursor:pointer;text-align:left;}
#anmApp .anm-dd-btn:focus-visible{outline:3px solid var(--anm-accent);outline-offset:1px;}
#anmApp .anm-dd-arrow{color:var(--anm-sub);}
#anmApp .anm-dd-list{position:absolute;left:0;right:0;top:calc(100% + 4px);margin:0;padding:4px;list-style:none;background:#fff;border:1px solid var(--anm-border);border-radius:10px;box-shadow:0 8px 22px rgba(74,58,66,.18);z-index:99999;max-height:260px;overflow:auto;display:none;}
#anmApp .anm-dd.is-open .anm-dd-list{display:block;}
#anmApp .anm-dd-list li{padding:8px 10px;border-radius:7px;cursor:pointer;font-size:1.5rem;display:flex;justify-content:space-between;align-items:baseline;gap:10px;}
#anmApp .anm-dd-list li .anm-dd-name{font-size:1.15rem;color:var(--anm-sub);font-family:'Hiragino Maru Gothic ProN','Yu Gothic','Meiryo',sans-serif;}
#anmApp .anm-dd-list li:hover,#anmApp .anm-dd-list li.is-focus{background:var(--anm-bg);}
#anmApp .anm-dd-list li[aria-selected="true"]{background:var(--anm-accent);color:#fff;}
#anmApp .anm-dd-list li[aria-selected="true"] .anm-dd-name{color:#ffe3ef;}

/* --- スウォッチ --- */
#anmApp .anm-swatches{display:flex;flex-wrap:wrap;gap:8px;}
#anmApp .anm-swatch{width:34px;height:34px;border-radius:50%;border:2px solid rgba(0,0,0,.12);cursor:pointer;position:relative;padding:0;}
#anmApp .anm-swatch:focus-visible{outline:3px solid var(--anm-accent);outline-offset:2px;}
#anmApp .anm-swatch[aria-pressed="true"]::after{content:"✓";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff;text-shadow:0 0 3px rgba(0,0,0,.55);}
#anmApp .anm-swatch.anm-swatch-light[aria-pressed="true"]::after{color:#555;text-shadow:none;}

/* --- スライダー・行間 --- */
#anmApp .anm-slider-row{display:flex;align-items:center;gap:8px;}
#anmApp .anm-slider-cap{font-size:1.4rem;color:var(--anm-sub);white-space:nowrap;}
#anmApp .anm-range{flex:1;accent-color:var(--anm-accent);min-width:0;}
#anmApp .anm-scale-val{color:var(--anm-accent-dark);font-weight:700;margin-left:6px;}
#anmApp .anm-lh-row{display:flex;gap:8px;}
#anmApp .anm-lh-btn{flex:1;max-width:90px;padding:6px 0;border-radius:8px;font-size:1.4rem;font-weight:600;cursor:pointer;background:var(--anm-surface2);color:var(--anm-text);border:2px solid var(--anm-border);}
#anmApp .anm-lh-btn.is-active{background:var(--anm-accent);border-color:var(--anm-accent);color:#fff;}
#anmApp .anm-lh-btn:focus-visible{outline:3px solid var(--anm-accent);outline-offset:2px;}

/* --- 名前追加・リスト --- */
#anmApp .anm-add-row{display:flex;gap:8px;}
#anmApp .anm-btn{border:none;border-radius:8px;font-size:1.4rem;font-weight:700;cursor:pointer;padding:8px 14px;}
#anmApp .anm-btn:focus-visible{outline:3px solid var(--anm-accent);outline-offset:2px;}
#anmApp .anm-btn-add{background:var(--anm-accent);color:#fff;white-space:nowrap;}
#anmApp .anm-btn-add:hover{background:var(--anm-accent-dark);}
#anmApp .anm-divider{text-align:center;color:var(--anm-sub);font-size:1.4rem;margin:8px 0;}
#anmApp .anm-btn-file{display:block;text-align:center;background:var(--anm-surface2);border:2px dashed var(--anm-border);color:var(--anm-text);}
#anmApp .anm-btn-file:hover{border-color:var(--anm-accent);}
#anmApp .anm-btn-file input{display:none;}
#anmApp .anm-hint{font-size:1.4rem;color:var(--anm-sub);margin:6px 0 0;}
#anmApp .anm-badge{margin-left:auto;background:var(--anm-accent);color:#fff;border-radius:999px;font-size:1.4rem;padding:2px 10px;}
#anmApp .anm-names-head{display:flex;justify-content:space-between;align-items:center;margin:14px 0 6px;}
#anmApp .anm-names-title{font-size:1.4rem;font-weight:700;}
#anmApp .anm-btn-clear{background:none;border:1px solid var(--anm-border);border-radius:7px;color:var(--anm-sub);font-size:1.15rem;padding:4px 10px;cursor:pointer;}
#anmApp .anm-btn-clear:hover{color:#c0392b;border-color:#c0392b;}
#anmApp .anm-names-list{display:flex;flex-wrap:wrap;gap:6px;max-height:220px;overflow:auto;}
#anmApp .anm-name-tag{display:inline-flex;align-items:center;gap:2px;background:var(--anm-surface2);border:1px solid var(--anm-border);border-radius:999px;padding:3px 6px 3px 10px;}
#anmApp .anm-name-edit{border:none;background:transparent;font-size:1.4rem;color:var(--anm-text);width:8em;min-width:3em;padding:2px;}
#anmApp .anm-name-edit:focus-visible{outline:2px solid var(--anm-accent);border-radius:4px;}
#anmApp .anm-name-remove{border:none;background:none;color:var(--anm-sub);font-size:1.4rem;cursor:pointer;padding:0 4px;line-height:1;}
#anmApp .anm-name-remove:hover{color:#c0392b;}
#anmApp .anm-empty{text-align:center;color:var(--anm-sub);font-size:1.4rem;padding:14px 0;}
#anmApp .anm-empty-icon{font-size:2.6rem;display:block;}

/* --- ダウンロード --- */
#anmApp .anm-dl{text-align:center;}
#anmApp .anm-btn-dl{width:100%;border:none;border-radius:12px;background:linear-gradient(135deg,var(--anm-accent),var(--anm-accent-dark));color:#fff;font-size:1.6rem;font-weight:700;padding:14px 10px;cursor:pointer;box-shadow:0 4px 12px rgba(212,105,154,.35);}
#anmApp .anm-btn-dl:hover{filter:brightness(1.06);}
#anmApp .anm-btn-dl:disabled{opacity:.4;cursor:not-allowed;}
#anmApp .anm-btn-dl:focus-visible{outline:3px solid var(--anm-accent-dark);outline-offset:3px;}
#anmApp .anm-btn-dl2{margin-top:10px;background:none;border:2px solid var(--anm-accent);color:var(--anm-accent-dark);border-radius:10px;font-size:1.4rem;font-weight:700;padding:8px 16px;cursor:pointer;}
#anmApp .anm-btn-dl2:hover{background:var(--anm-bg);}
#anmApp .anm-btn-dl2:disabled{opacity:.4;cursor:not-allowed;}
#anmApp .anm-btn-dl2:focus-visible{outline:3px solid var(--anm-accent);outline-offset:2px;}
#anmApp .anm-taC{text-align:center;}

/* --- 使い方ガイド・Tシャツ紹介（ベース1.4rem / 見出し1.6rem） --- */
#anmApp .anm-sec{margin-top:16px;font-size:1.4rem;line-height:1.8;}
#anmApp .anm-sec p{margin:0 0 10px;font-size:1.4rem;}
#anmApp .anm-sec-title{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:1.6rem;font-weight:700;color:var(--anm-text);}
#anmApp .anm-sec-title::before{content:"";flex:0 0 auto;width:12px;height:12px;border-radius:50%;background:var(--anm-accent);}

/* 使い方ガイド（PC2列） */
#anmApp .anm-guide-steps{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin:0;padding:0;list-style:none;}
#anmApp .anm-guide-steps li{display:flex;gap:12px;align-items:flex-start;background:var(--anm-surface2);border:1px solid var(--anm-border);border-radius:12px;padding:12px 14px;}
#anmApp .anm-step-num{flex:0 0 auto;width:28px;height:28px;border-radius:50%;background:var(--anm-accent);color:#fff;font-size:1.4rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:2px;}
#anmApp .anm-step-body strong{display:block;font-size:1.4rem;font-weight:700;color:var(--anm-accent-dark);margin-bottom:2px;}
#anmApp .anm-step-body p{margin:0;font-size:1.4rem;color:var(--anm-text);}

/* Tシャツ紹介（PC2列：画像＋テキスト） */
#anmApp .anm-about-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:20px;align-items:start;}
#anmApp .anm-about-fig{margin:0;}
#anmApp .anm-about-fig img{display:block;width:100%;height:auto;border:1px solid var(--anm-border);border-radius:12px;background:#fff;}
#anmApp .anm-about-fig figcaption{text-align:center;font-size:1.4rem;color:var(--anm-sub);margin-top:8px;}
#anmApp .anm-about-text h4{margin:0 0 10px;font-size:1.6rem;font-weight:700;color:var(--anm-text);}
#anmApp .anm-about-list{margin:0 0 12px;padding:0;list-style:none;}
#anmApp .anm-about-list li{position:relative;padding:9px 0 9px 22px;border-bottom:1px dashed var(--anm-border);font-size:1.4rem;}
#anmApp .anm-about-list li::before{content:"";position:absolute;left:2px;top:50%;transform:translateY(-50%);width:9px;height:9px;border-radius:50%;background:var(--anm-accent);}
#anmApp .anm-cta{display:block;text-align:center;margin-top:14px;padding:13px 16px;border-radius:12px;background:linear-gradient(135deg,var(--anm-accent),var(--anm-accent-dark));color:#fff;font-size:1.4rem;font-weight:700;text-decoration:none;box-shadow:0 4px 12px rgba(212,105,154,.35);}
#anmApp .anm-cta:hover{filter:brightness(1.06);}
#anmApp .anm-cta:focus-visible{outline:3px solid var(--anm-accent-dark);outline-offset:3px;}

/* --- スマホ（820px以下）：1カラム＋順番並べ替え --- */
@media (max-width:820px){
  #anmApp .anm-guide-steps{grid-template-columns:1fr;}
  #anmApp .anm-about-grid{grid-template-columns:1fr;gap:12px;}

  #anmApp .anm-layout{display:flex;flex-direction:column;}
  #anmApp .anm-col-left,#anmApp .anm-col-right{display:contents;}
  #anmApp .anm-preview-card{order:1;}
  #anmApp .anm-col-right .anm-card{order:2;}
  #anmApp .anm-info{order:3;}
  #anmApp .anm-dl{order:4;}
}