/* ==========================================================================
   Stamp Craft Manager Cloud — UI v0.2.6
   LINEスタンプ制作管理のためのデザインシステム
   基調: 白 / アクセント: LINEグリーン #06C755（唯一のアクセント色）
   中央寄せは max-width + margin:auto のみ。transform中央寄せ禁止。
   ========================================================================== */
:root{
  --scm-bg:#f3f6f4;
  --scm-card:#ffffff;
  --scm-ink:#1c2721;
  --scm-muted:#66736c;
  --scm-border:#e2e8e4;
  --scm-border-strong:#ccd6d0;
  --scm-line:#06c755;
  --scm-line-dark:#05a648;
  --scm-line-tint:#e9faf0;
  --scm-line-tint-border:#bfeed3;
  --scm-danger:#c02626;
  --scm-danger-bg:#fdefef;
  --scm-good:#0b7a3e;
  --scm-good-bg:#e9faf0;
  --scm-warn:#8a5a00;
  --scm-warn-bg:#fdf4dd;
  --scm-shadow:0 1px 2px rgba(16,44,30,.05);
  --scm-shadow-lift:0 10px 26px rgba(16,44,30,.10);
  --scm-r-app:20px;
  --scm-r-panel:16px;
  --scm-r-card:13px;
  --scm-r-ctrl:10px;
}

/* ---------- App shell ---------- */
.scm-app{
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic UI","Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",Meiryo,sans-serif;
  color:var(--scm-ink);
  background:var(--scm-bg);
  padding:20px;
  border-radius:var(--scm-r-app);
  box-sizing:border-box;
  width:100%;max-width:1200px;margin:0 auto;
  transform:none;left:auto;right:auto; /* transform中央寄せ禁止（過去不具合対策） */
  line-height:1.6;
  font-size:14px;
}
.scm-app *{box-sizing:border-box}
.scm-app :focus-visible{outline:2px solid var(--scm-line);outline-offset:2px;border-radius:4px}
.scm-app h1{font-size:22px;font-weight:700;letter-spacing:.01em}
.scm-app h2{font-size:17px;font-weight:700}
.scm-app h3{font-size:14px;font-weight:700}
.scm-app a{color:inherit}
.scm-app a.scm-button{color:#fff}
.scm-app a.scm-button:hover{color:#fff}
.scm-app a.scm-store-link,.scm-app a.scm-store-link:hover{color:var(--scm-line-dark)}

/* ---------- Top bar ---------- */
.scm-top{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  background:var(--scm-card);border:1px solid var(--scm-border);border-radius:var(--scm-r-panel);
  padding:12px 18px;margin-bottom:16px;box-shadow:var(--scm-shadow);
}
.scm-brand{display:flex;align-items:center;gap:11px;min-width:0}
.scm-brand-mark{
  width:38px;height:38px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  background:var(--scm-line);border-radius:12px;color:#fff;
  box-shadow:inset 0 -2px 0 rgba(0,0,0,.12);
}
.scm-brand-mark svg{width:22px;height:22px;display:block}
.scm-brand-text strong{font-size:16px;display:block;line-height:1.25}
.scm-version{font-size:11px;color:var(--scm-muted)}
.scm-top nav{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.scm-top nav a{
  padding:8px 14px;text-decoration:none;border-radius:999px;
  color:var(--scm-muted);font-weight:600;font-size:13px;
  transition:background .12s ease,color .12s ease;
}
.scm-top nav a:hover{background:var(--scm-bg);color:var(--scm-ink)}
.scm-top nav a.active{background:var(--scm-line-tint);color:var(--scm-line-dark)}
.scm-top nav .scm-nav-logout{color:var(--scm-muted);font-weight:500}

/* ---------- Panels ---------- */
.scm-panel,.scm-hero{
  background:var(--scm-card);border:1px solid var(--scm-border);border-radius:var(--scm-r-panel);
  padding:22px 24px;margin-bottom:16px;box-shadow:var(--scm-shadow);
}
.scm-hero h1,.scm-panel h1,.scm-panel h2{margin-top:0}
.scm-hero p{color:var(--scm-muted);max-width:60ch;margin-bottom:0}
.scm-hero{
  background:linear-gradient(135deg,#fff 55%,var(--scm-line-tint));
  border-color:var(--scm-line-tint-border);
}
.scm-quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}

/* ---------- Dashboard stats ---------- */
.scm-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.scm-stat{
  background:var(--scm-card);border:1px solid var(--scm-border);border-radius:var(--scm-r-card);
  padding:16px 18px;box-shadow:var(--scm-shadow);
}
.scm-stat span{display:block;color:var(--scm-muted);font-size:12px;font-weight:600;margin-bottom:2px}
.scm-stat strong{font-size:30px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}

/* ---------- Layout with sidebar ---------- */
.scm-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px}
.scm-sidebar{align-self:start;position:sticky;top:20px}

/* ---------- Forms ---------- */
.scm-panel label{display:block;font-size:12.5px;font-weight:600;margin:12px 0;color:var(--scm-ink)}
.scm-panel label:first-of-type{margin-top:0}
.scm-panel input[type=text],.scm-panel input[type=url],.scm-panel input[type=search],.scm-panel select{
  width:100%;padding:10px 12px;margin-top:5px;font-size:14px;
  border:1px solid var(--scm-border-strong);border-radius:var(--scm-r-ctrl);background:#fff;color:var(--scm-ink);
  transition:border-color .12s ease,box-shadow .12s ease;
}
.scm-panel input:focus,.scm-panel select:focus{
  outline:none;border-color:var(--scm-line);box-shadow:0 0 0 3px rgba(6,199,85,.15);
}
.scm-panel input[type=file]{
  width:100%;margin-top:5px;padding:10px;font-size:13px;
  border:1.5px dashed var(--scm-border-strong);border-radius:var(--scm-r-ctrl);background:#fafcfb;
}

/* ---------- Buttons ---------- */
.scm-button{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  border:1px solid transparent;border-radius:999px;padding:10px 18px;
  background:var(--scm-ink);color:#fff;text-decoration:none;cursor:pointer;
  font-weight:700;font-size:13.5px;line-height:1.2;font-family:inherit;
  transition:background .12s ease,box-shadow .12s ease,transform .06s ease;
}
.scm-button:hover{background:#2c3a33;color:#fff}
.scm-button:active{transform:translateY(1px)}
.scm-button.small{padding:7px 13px;font-size:12px}
.scm-button.scm-primary{background:var(--scm-line);box-shadow:inset 0 -2px 0 rgba(0,0,0,.10)}
.scm-button.scm-primary:hover{background:var(--scm-line-dark)}
.scm-button[disabled]{opacity:.4;cursor:not-allowed;box-shadow:none}
.scm-store-link{
  background:#fff;color:var(--scm-line-dark);border-color:var(--scm-line);
}
.scm-store-link:hover{background:var(--scm-line-tint);color:var(--scm-line-dark)}

/* ---------- Notices ---------- */
.scm-notice{border-radius:12px;padding:12px 16px;margin:0 0 14px;border:1px solid transparent;font-weight:600;font-size:13.5px}
.scm-notice small{font-weight:400;color:inherit;opacity:.85}
.scm-success{background:var(--scm-good-bg);color:var(--scm-good);border-color:var(--scm-line-tint-border)}
.scm-error{background:var(--scm-danger-bg);color:var(--scm-danger);border-color:#f3cfcf}

/* ---------- Status badges（進捗） ---------- */
.scm-status{
  display:inline-flex;align-items:center;gap:6px;width:fit-content;
  border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;line-height:1.6;
  background:#eef1ef;color:var(--scm-muted);
}
.scm-status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 auto}
.scm-status.st-creating,.scm-status.st-review,.scm-status.st-submitted{background:var(--scm-warn-bg);color:var(--scm-warn)}
.scm-status.st-ready,.scm-status.st-approved{background:var(--scm-good-bg);color:var(--scm-good)}
.scm-status.st-selling{background:var(--scm-line);color:#fff}
.scm-status.st-ended{background:#eef1ef;color:#8b958f}

/* ---------- Project cards ---------- */
.scm-section-head,.scm-builder-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.scm-section-head h1,.scm-section-head h2,.scm-builder-head h1{margin:0}
.scm-section-head h2{flex:0 0 auto;white-space:nowrap}
.scm-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.scm-project-card{
  display:flex;flex-direction:column;gap:10px;padding:16px;
  border:1px solid var(--scm-border);border-radius:var(--scm-r-card);background:#fff;
  transition:border-color .12s ease,box-shadow .12s ease;
}
.scm-project-card:hover{border-color:var(--scm-line);box-shadow:var(--scm-shadow-lift)}
.scm-project-card-main{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--scm-ink)}
.scm-project-card-main:hover{color:var(--scm-ink)}
.scm-project-card-main>strong{font-size:15px;line-height:1.4}
.scm-project-card span,.scm-project-card small{color:var(--scm-muted);font-size:12.5px}
.scm-project-card-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--scm-border);margin-top:auto}

/* ---------- Checks ---------- */
.scm-check{padding:13px 16px;border-radius:12px;margin:12px 0;border:1px solid transparent;font-size:13px}
.scm-check p,.scm-check ul{margin:4px 0 0}
.scm-check ul{padding-left:18px}
.scm-check.good{background:var(--scm-good-bg);color:var(--scm-good);border-color:var(--scm-line-tint-border)}
.scm-check.bad{background:var(--scm-danger-bg);color:var(--scm-danger);border-color:#f3cfcf}
.scm-check.warn{background:var(--scm-warn-bg);color:var(--scm-warn);border-color:#eeddb2}

/* ---------- Upload panel（ページ上部・画像取り込み） ---------- */
.scm-upload-panel{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,500px);align-items:center;gap:28px;
  padding:22px 24px;background:linear-gradient(135deg,#fff 50%,var(--scm-line-tint));border-color:var(--scm-line-tint-border);
}
.scm-upload-copy h1{margin:0 0 6px}
.scm-upload-copy p{margin:0;color:var(--scm-muted);line-height:1.7;font-size:13px}
.scm-upload-form{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.scm-upload-form input[type=file]{
  min-width:260px;max-width:100%;padding:10px;margin:0;
  border:1.5px dashed var(--scm-line-tint-border);border-radius:var(--scm-r-ctrl);background:#fff;font-size:13px;
}

/* ---------- Stamp library ---------- */
.scm-library-panel{padding:22px 24px 26px}
.scm-library-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
.scm-library-header h2{margin:0 0 3px}
.scm-library-header p{margin:0}
.scm-library-tools{display:flex;align-items:flex-end;gap:12px;min-width:min(520px,48%)}
.scm-library-search-label{flex:1;margin:0!important}
.scm-library-search-label input{margin-top:5px}
.scm-library-count{white-space:nowrap;color:var(--scm-muted);font-size:12px;padding-bottom:11px}
.scm-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:16px;align-items:start}
.scm-library-empty{
  grid-column:1/-1;text-align:center;padding:56px 20px;
  border:1.5px dashed var(--scm-border-strong);border-radius:var(--scm-r-card);color:var(--scm-muted);
}
.scm-library-empty strong{display:block;color:var(--scm-ink);font-size:16px;margin-bottom:6px}

/* スタンプカード：画像を主役に */
.scm-stamp-card{
  position:relative;border:1px solid var(--scm-border);border-radius:var(--scm-r-card);
  padding:12px;background:#fff;box-shadow:var(--scm-shadow);min-width:0;
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.scm-stamp-card:hover{border-color:var(--scm-line-tint-border);box-shadow:var(--scm-shadow-lift);transform:translateY(-2px)}
.scm-stamp-preview{
  position:relative;width:100%;aspect-ratio:370/320;
  display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:10px;
  background:
    linear-gradient(45deg,#edf1ee 25%,transparent 25%) 0 0/16px 16px,
    linear-gradient(45deg,transparent 75%,#edf1ee 75%) 0 0/16px 16px,
    linear-gradient(45deg,transparent 75%,#edf1ee 75%) 8px -8px/16px 16px,
    linear-gradient(45deg,#edf1ee 25%,#fff 25%) 8px -8px/16px 16px;
}
.scm-stamp-preview img{width:100%;height:100%;object-fit:contain;display:block}
.scm-stamp-status-badge{position:absolute;top:8px;right:8px;margin:0;box-shadow:0 1px 4px rgba(0,0,0,.14)}
.scm-stamp-file-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 2px 2px}
.scm-stamp-file-row strong{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70%}
.scm-stamp-file-row span{font-size:11.5px;color:var(--scm-muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.scm-stamp-edit-form label{margin:8px 0;font-size:12px}
.scm-stamp-edit-form input,.scm-stamp-edit-form select{font-size:13.5px;padding:8px 10px}
.scm-stamp-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:4px}
.scm-stamp-actions label{margin:0}
.scm-stamp-actions .scm-button{height:38px;min-width:64px}
.scm-stamp-card.is-hidden{display:none}

/* ---------- Set builder（v0.2.7: 上下2段・画像タイルグリッド） ---------- */
.scm-builder-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.scm-builder-head a{color:var(--scm-muted);font-size:12.5px;text-decoration:none}
.scm-builder-head a:hover{color:var(--scm-line-dark)}
.scm-builder-columns{display:grid;grid-template-columns:1fr;gap:0}
.scm-builder-columns .scm-panel{margin-bottom:16px}
.scm-form-row{display:grid;grid-template-columns:2fr 110px 160px;gap:12px}
.scm-form-row label{margin:0}
.scm-form-row .wide{grid-column:1/-1}
.scm-tile-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;
  align-content:start;padding:2px;
}
.scm-library-mini{max-height:560px;overflow-y:auto}
.scm-selected-list{min-height:110px;border:1.5px dashed var(--scm-border-strong);border-radius:var(--scm-r-card);padding:10px}
.scm-builder-item{
  position:relative;aspect-ratio:370/320;min-width:0;
  border:1px solid var(--scm-border);border-radius:var(--scm-r-ctrl);
  padding:6px;cursor:pointer;
  background:
    linear-gradient(45deg,#edf1ee 25%,transparent 25%) 0 0/12px 12px,
    linear-gradient(45deg,transparent 75%,#edf1ee 75%) 0 0/12px 12px,
    linear-gradient(45deg,transparent 75%,#edf1ee 75%) 6px -6px/12px 12px,
    linear-gradient(45deg,#edf1ee 25%,#fff 25%) 6px -6px/12px 12px;
  transition:border-color .12s ease,box-shadow .12s ease;
}
.scm-builder-item:hover{border-color:var(--scm-line);box-shadow:var(--scm-shadow-lift);z-index:1}
#scm-selected .scm-builder-item{cursor:grab}
#scm-selected .scm-builder-item:active{cursor:grabbing}
.scm-builder-item.dragging{opacity:.35;border-style:dashed;border-color:var(--scm-line)}
.scm-builder-item img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}
.scm-pos{
  position:absolute;top:5px;left:5px;z-index:1;
  background:var(--scm-line);color:#fff;border-radius:7px;
  padding:1px 6px;font-size:11px;font-weight:700;line-height:1.6;
  font-variant-numeric:tabular-nums;box-shadow:0 1px 3px rgba(0,0,0,.18);
}
.scm-pos::before{content:attr(data-pos)}
.scm-pos[data-pos=""],#scm-library .scm-pos{display:none}
.scm-sold-tag{
  position:absolute;bottom:5px;left:5px;z-index:1;
  background:var(--scm-danger-bg);color:var(--scm-danger);border:1px solid #f0c7c7;
  border-radius:999px;padding:1px 7px;font-size:9.5px;font-weight:700;line-height:1.6;
}
.scm-builder-item button{
  position:absolute;top:5px;right:5px;z-index:2;
  width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;
  border:none;border-radius:50%;cursor:pointer;
  font-size:15px;font-weight:700;line-height:1;font-family:inherit;
  box-shadow:0 1px 4px rgba(0,0,0,.18);
  opacity:0;transition:opacity .12s ease,background .12s ease;
}
.scm-builder-item:hover button,.scm-builder-item button:focus-visible{opacity:1}
@media (hover:none){.scm-builder-item button{opacity:1}}
.scm-builder-item button.scm-add{background:var(--scm-line);color:#fff}
.scm-builder-item button.scm-add:hover{background:var(--scm-line-dark)}
.scm-builder-item button.scm-remove{background:#fff;color:var(--scm-danger);border:1px solid #e5b3b3}
.scm-builder-item button.scm-remove:hover{background:var(--scm-danger-bg)}

/* ---------- Sold badge ---------- */
.scm-badge{display:inline-block;font-size:10px;padding:3px 8px;border-radius:999px;margin-top:3px;font-weight:700}
.scm-badge.sold{background:var(--scm-danger-bg);color:var(--scm-danger);border:1px solid #f0c7c7}

/* ---------- main.png / tab.png ---------- */
.scm-special-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.scm-special-grid>div{border:1px solid var(--scm-border);border-radius:var(--scm-r-card);padding:16px;background:#fafcfb}
.scm-special-grid h3{margin:0 0 2px}
.scm-special-grid p{margin:0 0 10px;color:var(--scm-muted);font-size:12px}
.scm-special-grid img{max-width:160px;height:auto;display:block;margin-bottom:10px;border-radius:8px;background:#fff;border:1px solid var(--scm-border)}

/* ---------- LINE STORE ---------- */
.scm-store-status,.scm-store-mini{
  display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 11px;
  font-size:11px;font-weight:700;line-height:1.5;width:fit-content;
}
.scm-store-status::before,.scm-store-mini::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 auto}
.scm-store-status.matched,.scm-store-mini.matched{background:var(--scm-line);color:#fff}
.scm-store-status.metadata_only,.scm-store-mini.metadata_only,
.scm-store-status.verified,.scm-store-mini.verified{background:var(--scm-good-bg);color:var(--scm-good)}
.scm-store-status.partial,.scm-store-mini.partial,
.scm-store-status.unverified,.scm-store-mini.unverified{background:var(--scm-warn-bg);color:var(--scm-warn)}
.scm-store-status.error,.scm-store-mini.error,
.scm-store-status.invalid_url,.scm-store-mini.invalid_url{background:var(--scm-danger-bg);color:var(--scm-danger)}
.scm-store-status.not_set,.scm-store-mini.not_set{background:#eef1ef;color:var(--scm-muted)}
.scm-store-open-row{margin:14px 0}
.scm-store-url-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin:12px 0}
.scm-store-url-form label{flex:1 1 560px;margin:0}
.scm-store-url-form input[type="url"]{width:100%}
.scm-store-url-form .scm-button{flex:0 0 auto;margin-bottom:0}
/* v0.3.12 textarea・複数行要素の整列（自己紹介欄のズレ/狭さ修正） */
.scm-store-url-form label:has(textarea),
.scm-store-url-form .scm-sns-rows,
.scm-store-url-form .scm-checkbox{flex:1 1 100%}
.scm-store-url-form textarea{
  display:block;width:100%;margin-top:5px;padding:10px 12px;
  font-family:inherit;font-size:13.5px;line-height:1.7;color:var(--scm-ink);
  border:1px solid var(--scm-border-strong);border-radius:var(--scm-r-ctrl);background:#fff;resize:vertical;
}
.scm-store-url-form textarea:focus{outline:none;border-color:var(--scm-line);box-shadow:0 0 0 3px rgba(6,199,85,.15)}

/* ---------- Login ---------- */
.scm-login{
  max-width:430px;margin:40px auto;padding:28px;
  background:#fff;border:1px solid var(--scm-border);border-radius:var(--scm-r-panel);box-shadow:var(--scm-shadow);
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic UI","Noto Sans JP",-apple-system,sans-serif;
}
.scm-login h2{margin-top:0}
.scm-login input{width:100%}

/* ---------- Utilities ---------- */
.scm-muted{color:var(--scm-muted);font-size:12px}
.scm-checkbox{display:flex!important;align-items:center;gap:8px;font-weight:500!important}
.scm-checkbox input{width:auto!important;margin:0!important;accent-color:var(--scm-line)}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .scm-app *{transition:none!important}
  .scm-stamp-card:hover{transform:none}
}

/* ---------- Tablet ---------- */
@media(max-width:900px){
  .scm-app{width:100%;max-width:100%;padding:14px}
  .scm-top{flex-direction:column;align-items:flex-start;gap:10px}
  .scm-stats{grid-template-columns:repeat(2,1fr)}
  .scm-layout,.scm-builder-columns{grid-template-columns:1fr}
  .scm-sidebar{position:static}
  .scm-project-grid{grid-template-columns:1fr 1fr}
  .scm-form-row{grid-template-columns:1fr 1fr}
  .scm-form-row .wide{grid-column:1/-1}
  .scm-upload-panel{grid-template-columns:1fr;gap:14px}
  .scm-upload-form{justify-content:flex-start}
  .scm-library-header{align-items:stretch;flex-direction:column}
  .scm-library-tools{min-width:0;width:100%;align-items:end}
  .scm-library-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
}

/* ---------- Mobile ---------- */
@media(max-width:560px){
  .scm-app{width:100%;max-width:100%;padding:10px;border-radius:14px;font-size:13.5px}
  .scm-top{padding:12px 14px}
  .scm-top nav{width:100%}
  .scm-top nav a{padding:7px 11px;font-size:12.5px}
  .scm-builder-head{align-items:flex-start;flex-direction:column}
  .scm-builder-head-actions{width:100%;justify-content:flex-start}
  .scm-stats,.scm-project-grid,.scm-special-grid,.scm-form-row{grid-template-columns:1fr}
  .scm-form-row .wide{grid-column:auto}
  .scm-tile-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}
  .scm-panel,.scm-hero{padding:16px}
  .scm-upload-panel,.scm-library-panel{padding:16px}
  .scm-upload-form{display:grid;grid-template-columns:1fr;width:100%}
  .scm-upload-form input[type=file]{min-width:0;width:100%}
  .scm-library-tools{display:grid;grid-template-columns:1fr}
  .scm-library-count{padding:0}
  .scm-library-grid{grid-template-columns:1fr}
  .scm-stamp-actions{grid-template-columns:1fr}
  .scm-stamp-actions .scm-button{width:100%}
  .scm-quick-actions .scm-button{width:100%}
}

/* ---------- v0.2.8: スタンプの所属セット表示 ---------- */
.scm-stamp-sets{display:flex;flex-wrap:wrap;gap:5px;padding:0 2px 8px}
.scm-set-chip{
  display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  background:var(--scm-line-tint);color:var(--scm-line-dark);border:1px solid var(--scm-line-tint-border);
  border-radius:999px;padding:2px 9px;font-size:10.5px;font-weight:700;line-height:1.7;
  text-decoration:none;transition:background .12s ease,border-color .12s ease;
}
a.scm-set-chip:hover{background:#d9f5e5;border-color:var(--scm-line);color:var(--scm-line-dark)}
.scm-set-chip-more{background:#eef1ef;color:var(--scm-muted);border-color:var(--scm-border);cursor:help}
.scm-set-chip-none{background:#eef1ef;color:var(--scm-muted);border-color:var(--scm-border)}

/* ---------- v0.2.9: 公開ショーケース [scm_showcase] ---------- */
.scm-sc-hero{margin-bottom:16px}
.scm-sc-hero h1{margin:0 0 4px}
.scm-sc-back{margin:0 0 12px;font-size:12.5px}
.scm-sc-back a{color:var(--scm-muted);text-decoration:none}
.scm-sc-back a:hover{color:var(--scm-line-dark)}
.scm-sc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:16px}
.scm-sc-card{
  display:flex;flex-direction:column;background:var(--scm-card);
  border:1px solid var(--scm-border);border-radius:var(--scm-r-card);overflow:hidden;
  box-shadow:var(--scm-shadow);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.scm-sc-card:hover{border-color:var(--scm-line-tint-border);box-shadow:var(--scm-shadow-lift);transform:translateY(-2px)}
.scm-sc-thumb{
  aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;padding:16px;
  background:
    linear-gradient(45deg,#edf1ee 25%,transparent 25%) 0 0/16px 16px,
    linear-gradient(45deg,transparent 75%,#edf1ee 75%) 0 0/16px 16px,
    linear-gradient(45deg,transparent 75%,#edf1ee 75%) 8px -8px/16px 16px,
    linear-gradient(45deg,#edf1ee 25%,#fff 25%) 8px -8px/16px 16px;
}
.scm-sc-thumb img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.scm-sc-noimg{color:var(--scm-muted);font-size:12px}
.scm-sc-body{display:flex;flex-direction:column;gap:5px;padding:12px 14px 14px;border-top:1px solid var(--scm-border)}
.scm-sc-title{font-size:13.5px;line-height:1.45}
.scm-sc-creator{font-size:12px;color:var(--scm-line-dark);font-weight:700;text-decoration:none;width:fit-content}
a.scm-sc-creator:hover{text-decoration:underline}
.scm-sc-body .scm-button{margin-top:6px;width:fit-content}
.scm-sc-pager{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px}
/* クリエーター一覧 */
.scm-sc-creators-panel{margin-top:4px}
.scm-sc-creator-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.scm-sc-creator-card{
  display:flex;flex-direction:column;gap:10px;padding:14px;text-decoration:none;color:var(--scm-ink);
  border:1px solid var(--scm-border);border-radius:var(--scm-r-card);background:#fff;
  transition:border-color .12s ease,box-shadow .12s ease;
}
.scm-sc-creator-card:hover{border-color:var(--scm-line);box-shadow:var(--scm-shadow-lift);color:var(--scm-ink)}
.scm-sc-creator-head{display:flex;align-items:center;gap:11px;min-width:0}
.scm-sc-creator-head strong{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scm-sc-creator-head .scm-muted{display:block}
.scm-sc-avatar{
  width:40px;height:40px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  background:var(--scm-line-tint);color:var(--scm-line-dark);border:1px solid var(--scm-line-tint-border);
  border-radius:50%;font-weight:700;font-size:16px;
}
.scm-sc-creator-head-lg .scm-sc-avatar{width:56px;height:56px;font-size:22px}
.scm-sc-creator-head-lg h1{margin:0}
.scm-sc-creator-head-lg p{margin:2px 0 0;color:var(--scm-muted)}
.scm-sc-creator-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.scm-sc-mini{
  aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden;
  border:1px solid var(--scm-border);border-radius:8px;background:#fafcfb;padding:4px;
}
.scm-sc-mini img{max-width:100%;max-height:100%;object-fit:contain}
@media(max-width:560px){
  .scm-sc-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .scm-sc-creator-grid{grid-template-columns:1fr}
  .scm-sc-body{padding:10px 11px 12px}
  .scm-sc-title{font-size:12.5px}
}

/* ---------- v0.2.10: SWELLテーマ互換 ---------- */
/* SWELLの本文スタイル（画像マージン・影・リンク装飾・見出し装飾）がアプリUIへ波及しないよう抑止 */
.post_content .scm-app img,.scm-app img{margin:0;box-shadow:none;border-radius:0}
.scm-stamp-preview img,.scm-sc-thumb img,.scm-sc-mini img{border-radius:0}
.scm-special-grid img{border-radius:8px}
.post_content .scm-app a,.scm-app a{text-decoration:none;transition:none}
.scm-app p>a{color:var(--scm-line-dark);font-weight:600}
.post_content .scm-app h1,.post_content .scm-app h2,.post_content .scm-app h3{
  background:none;border:none;padding:0;margin-top:0;
}
.post_content .scm-app h2::before,.post_content .scm-app h2::after{content:none}
.post_content .scm-app ul,.post_content .scm-app ol{padding-left:20px;margin:8px 0}
.post_content .scm-app li::before{content:none}
.post_content .scm-app table{margin:0}
/* SWELLフルワイドブロック内に設置した場合の二重パディング抑止 */
.swell-block-fullWide .scm-app{padding-left:20px;padding-right:20px}
@media(max-width:560px){.swell-block-fullWide .scm-app{padding-left:10px;padding-right:10px}}

/* ---------- v0.2.12: 新着コンパクト化・セット詳細・画像保護 ---------- */
/* 新着カードを小さめに */
.scm-sc-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.scm-sc-thumb{padding:12px}
.scm-sc-cardlink{display:block;text-decoration:none;color:var(--scm-ink)}
.scm-sc-cardlink:hover{color:var(--scm-ink)}
.scm-sc-cardlink .scm-sc-title{display:block;padding:10px 12px 0;font-size:12.5px}
.scm-sc-body{border-top:0;padding-top:6px}
.scm-sc-set-meta{margin:2px 0 0}
/* セット詳細：収録スタンプ */
.scm-sc-stamp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.scm-sc-protect{
  position:relative;display:flex;align-items:center;justify-content:center;
  aspect-ratio:370/320;padding:8px;border:1px solid var(--scm-border);border-radius:var(--scm-r-ctrl);
  background:
    linear-gradient(45deg,#edf1ee 25%,transparent 25%) 0 0/12px 12px,
    linear-gradient(45deg,transparent 75%,#edf1ee 75%) 0 0/12px 12px,
    linear-gradient(45deg,transparent 75%,#edf1ee 75%) 6px -6px/12px 12px,
    linear-gradient(45deg,#edf1ee 25%,#fff 25%) 6px -6px/12px 12px;
}
.scm-sc-protect img{max-width:100%;max-height:100%;object-fit:contain}
/* 右クリック・ドラッグ・長押し保存の抑止（ショーケース内の画像全般） */
.scm-showcase img{-webkit-user-drag:none;user-drag:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.scm-sc-protect::after,.scm-sc-thumb::after,.scm-sc-mini::after{content:"";position:absolute;inset:0;z-index:1}
.scm-sc-thumb{position:relative}
.scm-sc-mini{position:relative}
@media(max-width:560px){
  .scm-sc-grid{grid-template-columns:repeat(3,1fr);gap:8px}
  .scm-sc-cardlink .scm-sc-title{font-size:11.5px;padding:8px 10px 0}
  .scm-sc-stamp-grid{grid-template-columns:repeat(3,1fr);gap:8px}
}
.scm-sc-body .scm-button{white-space:nowrap;padding:7px 11px;font-size:11.5px}

/* ==========================================================================
   v0.2.13: SWELL上書き対策（ハードガード）
   原因1: 読み込み順 → enqueue priority 999 で対応（PHP側）
   原因2: スペシフィシティ → SWELLの .post_content 系(0,1,1)に勝つよう
          .scm-app 接頭で(0,2,0)以上へ引き上げ。装飾系のみ!importantで遮断。
   ========================================================================== */

/* 見出し：SWELLの背景・下線・バー装飾を完全遮断（当方は見出しを装飾しないため安全） */
.post_content .scm-app :is(h1,h2,h3,h4),
.scm-app :is(h1,h2,h3,h4){
  background:none!important;border:none!important;box-shadow:none!important;
  padding:0!important;border-radius:0!important;
}
.post_content .scm-app :is(h1,h2,h3,h4)::before,
.post_content .scm-app :is(h1,h2,h3,h4)::after,
.scm-app :is(h1,h2,h3,h4)::before,
.scm-app :is(h1,h2,h3,h4)::after{content:none!important;display:none!important}
.post_content .scm-app h1{font-size:22px;margin:0 0 .4em}
.post_content .scm-app h2{font-size:17px;margin:0 0 .4em}
.post_content .scm-app h3{font-size:14px;margin:0 0 .3em}

/* 段落・リスト：SWELLの広いマージン/装飾リストを抑止 */
.post_content .scm-app p{margin:.6em 0}
.post_content .scm-app p:first-child{margin-top:0}
.post_content .scm-app :is(ul,ol){margin:8px 0;padding-left:20px;background:none;border:none}
.post_content .scm-app li{margin:2px 0;padding:0;background:none;border:none}
.post_content .scm-app li::before{content:none!important}

/* リンク：SWELLのリンク色・下線・ホバー装飾を遮断し、当方の配色を再宣言 */
.post_content .scm-app a{text-decoration:none!important;box-shadow:none!important}
.scm-app .scm-top nav a{color:var(--scm-muted)}
.scm-app .scm-top nav a:hover{color:var(--scm-ink)}
.scm-app .scm-top nav a.active{color:var(--scm-line-dark)}
.scm-app a.scm-set-chip{color:var(--scm-line-dark)}
.scm-app a.scm-set-chip:hover{color:var(--scm-line-dark)}
.scm-app a.scm-sc-creator,.scm-app a.scm-sc-creator:hover{color:var(--scm-line-dark)}
.scm-app a.scm-project-card-main,.scm-app a.scm-project-card-main:hover,
.scm-app a.scm-sc-cardlink,.scm-app a.scm-sc-cardlink:hover,
.scm-app a.scm-sc-creator-card,.scm-app a.scm-sc-creator-card:hover{color:var(--scm-ink)}
.scm-app .scm-builder-head a,.scm-app .scm-sc-back a{color:var(--scm-muted)}
.scm-app .scm-builder-head a:hover,.scm-app .scm-sc-back a:hover{color:var(--scm-line-dark)}
.scm-app :is(p,li,td,small) a{color:var(--scm-line-dark);font-weight:600}

/* テーブル・画像・区切り線：本文装飾の波及を遮断 */
.post_content .scm-app table{margin:0;border:none;background:none}
.post_content .scm-app img{margin:0!important;box-shadow:none!important;border:none}
.post_content .scm-app hr{margin:12px 0;border:none;border-top:1px solid var(--scm-border)}

/* フォーム部品：SWELL/テーマのbutton・input装飾より当方を優先 */
.post_content .scm-app .scm-button{
  background:var(--scm-ink);color:#fff;border:1px solid transparent;border-radius:999px;text-decoration:none!important;
}
.post_content .scm-app .scm-builder-item button{border:none;border-radius:50%}
.post_content .scm-app .scm-builder-item button.scm-remove{border:1px solid #e5b3b3}
.post_content .scm-app .scm-button.scm-primary{background:var(--scm-line)}
.post_content .scm-app .scm-button.scm-store-link,.post_content .scm-app a.scm-store-link{background:#fff;color:var(--scm-line-dark);border:1px solid var(--scm-line)}
.post_content .scm-app input[type=text],
.post_content .scm-app input[type=url],
.post_content .scm-app input[type=search],
.post_content .scm-app select{
  border:1px solid var(--scm-border-strong);border-radius:var(--scm-r-ctrl);background:#fff;box-shadow:none;
}

/* ---------- v0.2.15: トップページ 概要・使い方 [scm_about] ---------- */
.scm-about-hero p{max-width:66ch}
.scm-about-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.scm-about-feature{background:var(--scm-card);border:1px solid var(--scm-border);border-radius:var(--scm-r-card);padding:16px 18px;box-shadow:var(--scm-shadow)}
.scm-about-feature strong{display:block;font-size:14px;margin-bottom:5px;color:var(--scm-line-dark)}
.scm-about-feature p{margin:0;color:var(--scm-muted);font-size:12.5px;line-height:1.7}
.scm-about-steps ol{margin:10px 0 14px;padding-left:22px}
.scm-about-steps li{margin:7px 0;line-height:1.8}
@media(max-width:900px){.scm-about-features{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.scm-about-features{grid-template-columns:1fr}}

/* ---------- v0.2.17→v0.2.20: 制作セット一覧の行表示（はみ出し防止のflex方式） ---------- */
.scm-project-rows{display:flex;flex-direction:column;gap:8px}
.scm-project-row{
  display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;
  padding:10px 14px;border:1px solid var(--scm-border);border-radius:var(--scm-r-ctrl);background:#fff;
  transition:border-color .12s ease,box-shadow .12s ease;
}
.scm-project-row:hover{border-color:var(--scm-line);box-shadow:var(--scm-shadow-lift)}
.scm-pr-link{
  flex:1 1 240px;min-width:0;
  display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;
  text-decoration:none;color:var(--scm-ink);
}
.scm-app a.scm-pr-link,.scm-app a.scm-pr-link:hover{color:var(--scm-ink)}
.scm-pr-thumb{
  width:52px;height:52px;display:flex;align-items:center;justify-content:center;overflow:hidden;
  border:1px solid var(--scm-border);border-radius:9px;background:#fafcfb;padding:4px;
}
.scm-pr-thumb img{max-width:100%;max-height:100%;object-fit:contain}
.scm-pr-main{min-width:0}
.scm-pr-main strong{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scm-pr-main small{display:block;color:var(--scm-muted);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scm-project-row .scm-status{flex:0 0 auto;white-space:nowrap}
.scm-pr-count{flex:0 0 auto;color:var(--scm-muted);font-size:12.5px;white-space:nowrap;font-variant-numeric:tabular-nums}
.scm-project-row .scm-store-mini{flex:0 0 auto;white-space:nowrap}
.scm-pr-actions{flex:0 0 auto;margin-left:auto}
.scm-pr-actions:empty{display:none}
.scm-pr-actions .scm-button{white-space:nowrap}
@media(max-width:560px){
  .scm-project-row{padding:10px 12px}
  .scm-pr-link{flex-basis:100%;grid-template-columns:44px minmax(0,1fr);gap:10px}
  .scm-pr-thumb{width:44px;height:44px}
  .scm-pr-actions{flex:1 1 100%;margin-left:0}
  .scm-pr-actions .scm-button{width:100%}
}

/* ---------- v0.2.19: クリック拡大ライトボックス ---------- */
.scm-zoomable{cursor:zoom-in}
.scm-sc-protect{cursor:zoom-in}
.scm-lightbox{
  position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;
  background:rgba(16,26,21,.85);padding:24px;cursor:zoom-out;
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic UI",sans-serif;
}
.scm-lightbox-img{
  position:relative;display:flex;align-items:center;justify-content:center;
  max-width:min(92vw,760px);max-height:86vh;padding:18px;border-radius:16px;
  background:
    linear-gradient(45deg,#edf1ee 25%,transparent 25%) 0 0/18px 18px,
    linear-gradient(45deg,transparent 75%,#edf1ee 75%) 0 0/18px 18px,
    linear-gradient(45deg,transparent 75%,#edf1ee 75%) 9px -9px/18px 18px,
    linear-gradient(45deg,#edf1ee 25%,#fff 25%) 9px -9px/18px 18px;
  box-shadow:0 20px 60px rgba(0,0,0,.4);
}
.scm-lightbox-img img{
  max-width:100%;max-height:calc(86vh - 36px);object-fit:contain;display:block;
  -webkit-user-drag:none;user-select:none;-webkit-touch-callout:none;
}
.scm-lightbox.is-protected .scm-lightbox-img::after{content:"";position:absolute;inset:0}
.scm-lightbox-close{
  position:absolute;top:18px;right:18px;width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
  border:none;border-radius:50%;background:rgba(255,255,255,.92);color:#1c2721;
  font-size:22px;line-height:1;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.3);
}
.scm-lightbox-close:hover{background:#fff}
@media(max-width:560px){.scm-lightbox{padding:12px}.scm-lightbox-img{padding:12px;max-width:96vw}}

/* ---------- v0.2.20: コンテナ幅対応 ----------
   テーマ（SWELL等）の本文カラムが狭い場合、ビューポート幅ではなく
   .scm-app の実幅を基準にレイアウトを再構成する。 */
.scm-app{container-type:inline-size}
@container (max-width:880px){
  .scm-layout{grid-template-columns:1fr}
  .scm-sidebar{position:static}
  .scm-upload-panel{grid-template-columns:1fr;gap:14px}
  .scm-upload-form{justify-content:flex-start}
  .scm-stats{grid-template-columns:repeat(2,1fr)}
  .scm-form-row{grid-template-columns:1fr 1fr}
  .scm-form-row .wide{grid-column:1/-1}
  .scm-about-features{grid-template-columns:1fr 1fr}
  .scm-library-header{align-items:stretch;flex-direction:column}
  .scm-library-tools{min-width:0;width:100%}
}
@container (max-width:520px){
  .scm-stats,.scm-form-row,.scm-about-features{grid-template-columns:1fr}
  .scm-form-row .wide{grid-column:auto}
}

/* ---------- v0.2.22: 種別バッジ・削除UI ---------- */
.scm-type-badge{
  display:inline-block;vertical-align:middle;margin-left:8px;
  background:var(--scm-line-tint);color:var(--scm-line-dark);border:1px solid var(--scm-line-tint-border);
  border-radius:999px;padding:2px 10px;font-size:11px;font-weight:700;line-height:1.7;
}
.scm-stamp-delete{margin-top:8px;padding-top:8px;border-top:1px dashed var(--scm-border);text-align:right}
.scm-delete-link{
  background:none;border:none;padding:2px 4px;cursor:pointer;font-family:inherit;
  color:var(--scm-danger);font-size:11.5px;text-decoration:underline;text-underline-offset:2px;
}
.scm-delete-link:hover{background:var(--scm-danger-bg);border-radius:6px;text-decoration:none}
.scm-delete-disabled{color:#b3bab6;font-size:11.5px;cursor:not-allowed}
.post_content .scm-app .scm-delete-link{text-decoration:underline!important;color:var(--scm-danger)}

/* ---------- v0.2.23: セット削除（危険ゾーン） ---------- */
.scm-danger-zone{border-color:#f0c7c7;background:#fffbfb}
.scm-danger-zone h2{color:var(--scm-danger)}
.scm-button.scm-danger-button{background:#fff;color:var(--scm-danger);border:1px solid #e5b3b3}
.scm-button.scm-danger-button:hover{background:var(--scm-danger-bg);color:var(--scm-danger)}
.post_content .scm-app .scm-button.scm-danger-button{background:#fff;color:var(--scm-danger);border:1px solid #e5b3b3}

/* ---------- v0.2.24: 並び順・表示切替・リスト表示 ---------- */
.scm-sort-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.scm-sort-form{margin:0}
.scm-sort-label{display:flex!important;align-items:center;gap:6px;margin:0!important;font-size:12px;color:var(--scm-muted);white-space:nowrap}
.scm-sort-label select{width:auto;margin:0;padding:7px 10px;font-size:12.5px}
.scm-view-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.scm-seg{display:inline-flex;border:1px solid var(--scm-border-strong);border-radius:999px;overflow:hidden;background:#fff}
.scm-seg button{
  border:none;background:none;padding:7px 13px;cursor:pointer;font-family:inherit;
  font-size:12px;font-weight:700;color:var(--scm-muted);transition:background .12s ease,color .12s ease;
}
.scm-seg button+button{border-left:1px solid var(--scm-border)}
.scm-seg button:hover{background:var(--scm-bg);color:var(--scm-ink)}
.scm-seg button.is-active{background:var(--scm-line-tint);color:var(--scm-line-dark)}
.scm-library-tools{align-items:center;flex-wrap:wrap}

/* 画像サイズ（ブロック表示時） */
.scm-library-grid.size-s{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.scm-library-grid.size-m{grid-template-columns:repeat(auto-fill,minmax(245px,1fr))}
.scm-library-grid.size-l{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}
.size-s .scm-stamp-edit-form label{font-size:11px;margin:6px 0}
.size-s .scm-stamp-edit-form input,.size-s .scm-stamp-edit-form select{padding:6px 8px;font-size:12.5px}
.size-s .scm-stamp-actions .scm-button{height:34px;min-width:52px;font-size:11px}

/* リスト表示 */
.scm-library-grid.view-list{display:flex;flex-direction:column;gap:8px}
.view-list .scm-stamp-card{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 14px}
.view-list .scm-stamp-card:hover{transform:none}
.view-list .scm-stamp-preview{width:72px;flex:0 0 72px;aspect-ratio:1/1;padding:4px;border:1px solid var(--scm-border);border-radius:9px}
.view-list .scm-stamp-status-badge{top:2px;right:2px;font-size:9px;padding:2px 6px}
.view-list .scm-stamp-file-row{flex:0 1 170px;flex-direction:column;align-items:flex-start;gap:2px;padding:0;min-width:0}
.view-list .scm-stamp-file-row strong{max-width:100%}
.view-list .scm-stamp-sets{flex:0 1 180px;padding:0;min-width:0}
.view-list .scm-stamp-edit-form{display:contents}
.view-list .scm-stamp-edit-form>label{flex:1 1 150px;margin:0;min-width:130px}
.view-list .scm-stamp-actions{flex:0 0 auto;display:flex;align-items:end;gap:10px;margin:0}
.view-list .scm-stamp-actions label{min-width:130px}
.view-list .scm-stamp-delete{flex:0 0 auto;margin:0;padding:0;border:none;margin-left:auto}

/* ---------- v0.2.25: ライブラリのフィルタバー ---------- */
.scm-filter-bar{
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  margin:0 0 16px;padding:10px 14px;
  background:#fafcfb;border:1px solid var(--scm-border);border-radius:var(--scm-r-ctrl);
}
.scm-filter-bar label{display:flex!important;align-items:center;gap:6px;margin:0!important;font-size:12px;color:var(--scm-muted);white-space:nowrap}
.scm-filter-bar select{width:auto;margin:0;padding:7px 10px;font-size:12.5px}

/* ---------- v0.2.26: AI生成サポート ---------- */
.scm-ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.scm-ai-grid textarea,#ai-output{
  width:100%;margin-top:5px;padding:10px 12px;font-size:13.5px;font-family:inherit;line-height:1.7;
  border:1px solid var(--scm-border-strong);border-radius:var(--scm-r-ctrl);background:#fff;color:var(--scm-ink);resize:vertical;
}
#ai-output{background:#fafcfb;margin-top:4px}
.scm-ai-grid textarea:focus,#ai-output:focus{outline:none;border-color:var(--scm-line);box-shadow:0 0 0 3px rgba(6,199,85,.15)}
.scm-ai-used{margin-top:10px;font-size:12.5px}
.scm-ai-used summary{cursor:pointer;color:var(--scm-line-dark);font-weight:600}
.scm-ai-used-list{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;max-height:140px;overflow:auto;padding:2px}
.scm-ai-refs .scm-ai-ref{cursor:pointer}
.scm-ai-ref .scm-ai-check{
  position:absolute;top:5px;left:5px;z-index:2;width:22px;height:22px;
  display:none;align-items:center;justify-content:center;
  background:var(--scm-line);color:#fff;border-radius:50%;font-size:13px;font-weight:700;
  box-shadow:0 1px 4px rgba(0,0,0,.2);
}
.scm-ai-ref.is-selected{border-color:var(--scm-line);box-shadow:0 0 0 2px rgba(6,199,85,.35)}
.scm-ai-ref.is-selected .scm-ai-check{display:flex}
.scm-ai-zoom{
  position:absolute;top:5px;right:5px;z-index:2;width:24px;height:24px;padding:0;
  display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;
  background:rgba(255,255,255,.92);cursor:pointer;font-size:12px;box-shadow:0 1px 4px rgba(0,0,0,.18);
  opacity:0;transition:opacity .12s ease;
}
.scm-ai-ref:hover .scm-ai-zoom{opacity:1}
@media (hover:none){.scm-ai-zoom{opacity:1}}
@container (max-width:880px){.scm-ai-grid{grid-template-columns:1fr}}
@media(max-width:560px){.scm-ai-grid{grid-template-columns:1fr}}

/* ---------- v0.2.27: 参照シート ---------- */
#ai-base-prompt{width:100%;margin-top:5px;padding:10px 12px;font-size:13px;font-family:inherit;line-height:1.7;border:1px solid var(--scm-border-strong);border-radius:var(--scm-r-ctrl);background:#fff;resize:vertical}
#ai-base-prompt:focus{outline:none;border-color:var(--scm-line);box-shadow:0 0 0 3px rgba(6,199,85,.15)}
.scm-ref-sheet-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.scm-ref-sheet-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;border:1px solid var(--scm-border);border-radius:var(--scm-r-ctrl);background:#fff}
.scm-ref-sheet-main{flex:1 1 300px;min-width:0}
.scm-ref-sheet-main strong{display:block;font-size:13.5px}
.scm-ref-sheet-main small{display:block;color:var(--scm-muted);font-size:11.5px;margin-bottom:6px}
.scm-ref-url{display:flex;gap:8px;align-items:center}
.scm-ref-url input{flex:1;min-width:0;padding:7px 10px;font-size:11.5px;color:var(--scm-muted);border:1px solid var(--scm-border);border-radius:8px;background:#fafcfb}
.scm-ref-sheet-actions{display:flex;gap:8px;flex:0 0 auto}
.scm-ref-sheet-del{flex:0 0 auto;margin-left:auto}

/* ---------- v0.2.29: 参照画像ストア ---------- */
.scm-ref-upload{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;border:1.5px dashed var(--scm-border-strong);border-radius:var(--scm-r-ctrl);background:#fafcfb}
.scm-ref-upload input[type=file]{flex:1;min-width:220px;margin:0;padding:6px;border:none;background:none}
.scm-ref-src{
  position:absolute;bottom:5px;right:5px;z-index:1;
  background:#eef1ef;color:var(--scm-muted);border-radius:6px;padding:1px 5px;font-size:9px;font-weight:700;
}
.scm-ref-del{
  position:absolute;bottom:5px;left:5px;z-index:2;width:22px;height:22px;padding:0;
  display:flex;align-items:center;justify-content:center;border:1px solid #e5b3b3;border-radius:50%;
  background:#fff;color:var(--scm-danger);cursor:pointer;font-size:13px;line-height:1;
  box-shadow:0 1px 4px rgba(0,0,0,.15);opacity:0;transition:opacity .12s ease;
}
.scm-ai-ref:hover .scm-ref-del{opacity:1}
.scm-ref-del:hover{background:var(--scm-danger-bg)}
@media (hover:none){.scm-ref-del{opacity:1}}
#scm-stamp-picker{margin-top:10px;max-height:340px;overflow-y:auto}

/* ---------- v0.2.30: プロンプト保存管理 ---------- */
#ai-style{resize:vertical}
.scm-draft-save{margin-top:16px;padding:14px 16px;border:1px solid var(--scm-border);border-radius:var(--scm-r-ctrl);background:#fafcfb}
.scm-draft-save h3{margin:0 0 10px}
.scm-draft-save-row{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}
.scm-draft-save-row label{flex:1 1 220px;margin:0!important}
.scm-draft-save-row label select{width:100%}
.scm-draft-save-btns{display:flex;align-items:center;gap:12px;flex:0 0 auto;padding-bottom:2px}
.scm-ref-sheet-row.is-current{border-color:var(--scm-line);background:var(--scm-line-tint)}

/* ---------- v0.2.31: 通し番号バッジ ---------- */
.scm-stamp-seq{
  position:absolute;top:8px;left:8px;z-index:1;
  background:rgba(28,39,33,.78);color:#fff;border-radius:8px;
  padding:2px 8px;font-size:11px;font-weight:700;line-height:1.6;
  font-variant-numeric:tabular-nums;pointer-events:none;
}
.view-list .scm-stamp-seq{top:2px;left:2px;font-size:9.5px;padding:1px 6px}
.size-s .scm-stamp-seq{font-size:10px;padding:1px 6px}

/* ---------- v0.2.32: NEWバッジ・登録日時・枚数カウンタ ---------- */
.scm-stamp-new{
  position:absolute;bottom:8px;right:8px;z-index:1;
  background:var(--scm-line);color:#fff;border-radius:8px;
  padding:2px 8px;font-size:10px;font-weight:700;line-height:1.6;letter-spacing:.04em;
  box-shadow:0 1px 4px rgba(0,0,0,.18);pointer-events:none;
}
.scm-stamp-new-inline{
  display:inline-block;background:var(--scm-line);color:#fff;border-radius:6px;
  padding:0 6px;font-size:9.5px;font-weight:700;letter-spacing:.04em;vertical-align:1px;
}
.scm-stamp-date{padding:0 2px 6px;color:var(--scm-muted);font-size:11px}
.view-list .scm-stamp-date{flex:0 0 auto;padding:0;white-space:nowrap}
.view-list .scm-stamp-new{bottom:2px;right:2px;font-size:8.5px;padding:1px 5px}
.scm-upload-count{font-size:12px;white-space:nowrap}

/* ---------- v0.3.0: 会員登録・ログインページ ---------- */
.scm-member-page{max-width:560px}
.scm-member-panel{padding:28px 30px}
.scm-member-panel h1{margin:0 0 14px}
.scm-member-form label{display:block;font-size:12.5px;font-weight:600;margin:14px 0}
.scm-member-form input[type=text],.scm-member-form input[type=email],.scm-member-form input[type=password]{
  width:100%;padding:11px 13px;margin-top:5px;font-size:14px;
  border:1px solid var(--scm-border-strong);border-radius:var(--scm-r-ctrl);background:#fff;color:var(--scm-ink);
}
.scm-member-form input:focus{outline:none;border-color:var(--scm-line);box-shadow:0 0 0 3px rgba(6,199,85,.15)}
.scm-member-form .scm-button{width:100%;margin-top:14px;padding:12px 18px;font-size:14px}
.scm-member-alt{margin-top:16px;text-align:center;font-size:12.5px;color:var(--scm-muted)}
.scm-app .scm-member-alt a{color:var(--scm-line-dark);font-weight:600}
/* ハニーポット（不可視。display:noneはbotが回避するため画面外配置） */
.scm-website-field{position:absolute!important;left:-9999px!important;top:-9999px!important;height:1px;overflow:hidden}

/* ---------- v0.3.2: マイページ ---------- */
.scm-mypage-block{margin-top:20px;padding-top:18px;border-top:1px solid var(--scm-border)}
.scm-mypage-block h2{margin:0 0 4px}
.scm-mypage-block .scm-button{width:auto;min-width:200px}

/* ---------- v0.3.3: SNSシェアボタン ---------- */
.scm-share{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}
.scm-share-label{font-size:12px;font-weight:700;color:var(--scm-muted)}
.scm-share-btn{
  display:inline-flex;align-items:center;border:1px solid var(--scm-border-strong);border-radius:999px;
  padding:7px 14px;background:#fff;color:var(--scm-ink);text-decoration:none;cursor:pointer;
  font-size:12px;font-weight:700;font-family:inherit;line-height:1.4;
  transition:background .12s ease,border-color .12s ease,color .12s ease;
}
.scm-share-btn:hover{background:var(--scm-line-tint);border-color:var(--scm-line);color:var(--scm-line-dark)}
.scm-app a.scm-share-btn,.scm-app a.scm-share-btn:hover{color:inherit}
.scm-app a.scm-share-btn:hover{color:var(--scm-line-dark)}
.post_content .scm-app a.scm-share-btn{color:var(--scm-ink)}

/* ---------- v0.3.4: ご利用ガイド ---------- */
.scm-guide-hero h1{font-size:26px;line-height:1.5}
.scm-sp-br{display:none}
.scm-guide-merits{margin:14px 0 0;padding-left:0;counter-reset:merit;list-style:none}
.scm-guide-merits li{
  counter-increment:merit;position:relative;margin:0 0 16px;padding:14px 16px 14px 58px;
  background:#fafcfb;border:1px solid var(--scm-border);border-radius:var(--scm-r-ctrl);
}
.scm-guide-merits li::before{
  content:counter(merit);position:absolute;left:16px;top:14px;width:30px;height:30px;
  display:flex;align-items:center;justify-content:center;
  background:var(--scm-line);color:#fff;border-radius:50%;font-weight:700;font-size:14px;
}
.scm-guide-merits li strong{display:block;font-size:14.5px;margin-bottom:3px;color:var(--scm-line-dark)}
.scm-guide-merits li p{margin:0;font-size:13px;line-height:1.8;color:var(--scm-muted)}
.scm-guide-faq{border:1px solid var(--scm-border);border-radius:var(--scm-r-ctrl);padding:12px 16px;margin-bottom:10px;background:#fff}
.scm-guide-faq summary{cursor:pointer;font-weight:700;font-size:13.5px}
.scm-guide-faq summary::marker{color:var(--scm-line)}
.scm-guide-faq p{margin:10px 0 2px;font-size:13px;line-height:1.9;color:var(--scm-muted)}
.scm-guide-reg .scm-about-feature strong{color:var(--scm-line)}
@media(max-width:560px){.scm-guide-hero h1{font-size:21px}.scm-sp-br{display:inline}}

/* ---------- v0.3.8: 広告枠 ---------- */
.scm-ad{margin-top:20px;text-align:center}
.scm-ad-label{font-size:10.5px;color:var(--scm-muted);letter-spacing:.08em;margin-bottom:6px}
.scm-ad img{max-width:100%;height:auto}

/* ---------- v0.3.9: 関連サイトバナー・クリエイターアイコン ---------- */
.scm-promo{margin-top:20px}
.scm-promo-label{font-size:10.5px;color:var(--scm-muted);letter-spacing:.08em;margin-bottom:6px;text-align:center}
.scm-promo-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.scm-promo-item{
  display:flex;flex-direction:column;align-items:center;gap:6px;max-width:250px;
  padding:10px 12px;border:1px solid var(--scm-border);border-radius:var(--scm-r-ctrl);background:#fff;
  text-decoration:none;color:var(--scm-ink);font-size:12px;font-weight:600;
  transition:border-color .12s ease,box-shadow .12s ease;
}
.scm-promo-item:hover{border-color:var(--scm-line);box-shadow:var(--scm-shadow-lift)}
.scm-app a.scm-promo-item,.scm-app a.scm-promo-item:hover{color:var(--scm-ink)}
.scm-promo-item img{max-width:100%;height:auto;border-radius:8px}
.scm-avatar-preview{display:inline-flex;vertical-align:middle;margin:0 10px 6px 0}
.scm-avatar-preview img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:1px solid var(--scm-border)}
.scm-sc-avatar.has-image{padding:0;overflow:hidden;background:#fff}
.scm-sc-avatar.has-image img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}

/* ---------- v0.3.10: マイページのアイコン管理 ---------- */
.scm-mypage-avatar-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:10px 0}
.scm-mypage-avatar{width:72px;height:72px;border-radius:50%;overflow:hidden;border:1px solid var(--scm-border);flex:0 0 72px;background:#fafcfb}
.scm-mypage-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.scm-mypage-avatar-empty{display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--scm-muted)}
.scm-mypage-avatar-input{flex:1 1 240px;margin:0!important}
.scm-mypage-avatar-input input[type=file]{margin-top:6px}

/* ---------- v0.3.11: クリエイター紹介欄 ---------- */
.scm-sns-rows{display:block;margin:14px 0}
.scm-sns-head{display:block;font-size:12.5px;font-weight:600;margin-bottom:8px}
.scm-sns-row{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);gap:8px;margin-bottom:8px}
.scm-sns-row input{margin:0!important}
.scm-creator-intro{margin-top:16px;padding-top:14px;border-top:1px solid var(--scm-border)}
.scm-creator-bio{margin:0 0 10px;font-size:13.5px;line-height:1.9;color:var(--scm-ink);max-width:66ch}
.scm-creator-links{display:flex;gap:8px;flex-wrap:wrap}
.scm-creator-link{
  display:inline-flex;align-items:center;border:1px solid var(--scm-border-strong);border-radius:999px;
  padding:6px 14px;background:#fff;color:var(--scm-ink);text-decoration:none;
  font-size:12px;font-weight:700;transition:background .12s ease,border-color .12s ease,color .12s ease;
}
.scm-creator-link:hover{background:var(--scm-line-tint);border-color:var(--scm-line);color:var(--scm-line-dark)}
.scm-app a.scm-creator-link{color:var(--scm-ink)}
.scm-app a.scm-creator-link:hover{color:var(--scm-line-dark)}
@media(max-width:560px){.scm-sns-row{grid-template-columns:1fr}}

/* ---------- v0.3.13: SNS固定サービス入力＋アイコン ---------- */
.scm-sns-row-fixed{grid-template-columns:130px minmax(0,1fr);align-items:center}
.scm-sns-service{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--scm-ink)}
.scm-sns-row-fixed .scm-sns-other-label{grid-column:2;margin-top:6px!important}
.scm-sns-icon{flex:0 0 auto;display:inline-block;vertical-align:-2px}
.scm-creator-link{gap:6px}
.scm-creator-link .scm-sns-icon{color:var(--scm-muted)}
.scm-creator-link:hover .scm-sns-icon{color:var(--scm-line-dark)}
@media(max-width:560px){.scm-sns-row-fixed{grid-template-columns:110px minmax(0,1fr)}}

/* ---------- v0.3.14: アクセス統計・ランキング ---------- */
.scm-stats-mini{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px}
.scm-stats-table{width:100%;border-collapse:collapse;font-size:12.5px}
.scm-stats-table th,.scm-stats-table td{padding:7px 10px;border-bottom:1px solid var(--scm-border);text-align:left}
.scm-stats-table td:nth-child(2),.scm-stats-table td:nth-child(3),.scm-stats-table th:nth-child(2),.scm-stats-table th:nth-child(3){text-align:right;font-variant-numeric:tabular-nums}
.scm-stats-table thead th{color:var(--scm-muted);font-size:11.5px;font-weight:700}

/* TOP3カード */
.scm-rank-top3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.scm-rank-card{
  position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;
  padding:18px 14px 14px;border:1px solid var(--scm-border);border-radius:var(--scm-r-card);background:#fff;
  text-decoration:none;color:var(--scm-ink);transition:border-color .12s ease,box-shadow .12s ease;
}
.scm-rank-card:hover{border-color:var(--scm-line);box-shadow:var(--scm-shadow-lift)}
.scm-app a.scm-rank-card,.scm-app a.scm-rank-card:hover{color:var(--scm-ink)}
.scm-rank-crown{
  position:absolute;top:-10px;left:12px;width:30px;height:30px;
  display:flex;align-items:center;justify-content:center;border-radius:50%;
  font-weight:800;font-size:14px;color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.2);
}
.scm-rank-1 .scm-rank-crown{background:#d4a017}
.scm-rank-2 .scm-rank-crown{background:#8f9aa3}
.scm-rank-3 .scm-rank-crown{background:#a9714b}
.scm-rank-card .scm-rank-thumb{width:96px;height:96px;display:flex;align-items:center;justify-content:center;padding:6px;border:1px solid var(--scm-border);border-radius:12px;background:#fafcfb}
.scm-rank-card .scm-rank-thumb img{max-width:100%;max-height:100%;object-fit:contain}
.scm-rank-card strong{font-size:13.5px;line-height:1.5}

/* ランキングページ */
.scm-rank-tabs{display:flex;gap:8px;margin-bottom:16px}
.scm-rank-tab{
  display:inline-flex;padding:8px 20px;border:1px solid var(--scm-border-strong);border-radius:999px;
  background:#fff;color:var(--scm-muted);text-decoration:none;font-size:13px;font-weight:700;
  transition:background .12s ease,color .12s ease,border-color .12s ease;
}
.scm-rank-tab:hover{background:var(--scm-bg);color:var(--scm-ink)}
.scm-rank-tab.is-active{background:var(--scm-line-tint);border-color:var(--scm-line);color:var(--scm-line-dark)}
.scm-app a.scm-rank-tab.is-active{color:var(--scm-line-dark)}
.scm-rank-list{display:flex;flex-direction:column;gap:8px}
.scm-rank-row{
  display:flex;align-items:center;gap:14px;padding:10px 14px;
  border:1px solid var(--scm-border);border-radius:var(--scm-r-ctrl);background:#fff;
  text-decoration:none;color:var(--scm-ink);transition:border-color .12s ease,box-shadow .12s ease;
}
.scm-rank-row:hover{border-color:var(--scm-line);box-shadow:var(--scm-shadow-lift)}
.scm-app a.scm-rank-row,.scm-app a.scm-rank-row:hover{color:var(--scm-ink)}
.scm-rank-num{flex:0 0 40px;text-align:center;font-weight:800;font-size:15px;color:var(--scm-muted);font-variant-numeric:tabular-nums}
.scm-rank-row-top .scm-rank-num{color:#fff;border-radius:50%;width:30px;height:30px;flex-basis:30px;display:flex;align-items:center;justify-content:center;margin:0 5px}
.scm-rank-row.scm-rank-1 .scm-rank-num{background:#d4a017}
.scm-rank-row.scm-rank-2 .scm-rank-num{background:#8f9aa3}
.scm-rank-row.scm-rank-3 .scm-rank-num{background:#a9714b}
.scm-rank-row .scm-rank-thumb{width:52px;height:52px;flex:0 0 52px;display:flex;align-items:center;justify-content:center;padding:4px;border:1px solid var(--scm-border);border-radius:9px;background:#fafcfb}
.scm-rank-row .scm-rank-thumb img{max-width:100%;max-height:100%;object-fit:contain}
.scm-rank-main{min-width:0}
.scm-rank-main strong{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scm-rank-main small{color:var(--scm-muted);font-size:11.5px}
/* v0.3.31 TOP3は常に横並び（狭い幅ではカードを縮小） */
@container (max-width:880px){
  .scm-rank-top3{gap:8px}
  .scm-rank-card{padding:14px 6px 10px}
  .scm-rank-card .scm-rank-thumb{width:64px;height:64px}
  .scm-rank-card strong{font-size:11.5px}
  .scm-rank-card .scm-muted{font-size:10px}
  .scm-rank-crown{width:24px;height:24px;font-size:12px;top:-8px;left:6px}
}
@media(max-width:560px){
  .scm-rank-top3{gap:8px}
  .scm-rank-card{padding:14px 6px 10px}
  .scm-rank-card .scm-rank-thumb{width:64px;height:64px}
  .scm-rank-card strong{font-size:11.5px}
  .scm-rank-card .scm-muted{font-size:10px}
  .scm-rank-crown{width:24px;height:24px;font-size:12px;top:-8px;left:6px}
}

/* ---------- v0.3.15: サイトメニュー自動項目 ---------- */
.scm-menu-logout a{opacity:.85}

/* ---------- v0.3.19: セット詳細ヒーローのメイン画像 ---------- */
.scm-sc-set-hero{display:flex;align-items:center;gap:24px}
.scm-sc-hero-main{flex:1 1 auto;min-width:0}
.scm-sc-hero-img{flex:0 0 150px;display:flex;align-items:center;justify-content:center}
.scm-sc-hero-img .scm-sc-protect{display:block;padding:10px;background:#fff;border:1px solid var(--scm-border);border-radius:14px;box-shadow:var(--scm-shadow-lift)}
.scm-sc-hero-img img{display:block;max-width:130px;max-height:130px;width:auto;height:auto;object-fit:contain}
@container (max-width:880px){.scm-sc-set-hero{flex-direction:column-reverse;align-items:flex-start}.scm-sc-hero-img{flex-basis:auto}}
@media(max-width:560px){.scm-sc-set-hero{flex-direction:column-reverse;align-items:flex-start}}

/* ---------- v0.3.20: 参照画像の説明編集 ---------- */
.scm-ref-label-rows{display:flex;flex-direction:column;gap:8px;margin-top:10px;max-height:340px;overflow-y:auto}
.scm-ref-label-row{display:flex;align-items:center;gap:10px}
.scm-ref-label-row img{width:44px;height:44px;object-fit:contain;flex:0 0 44px;border:1px solid var(--scm-border);border-radius:8px;background:#fafcfb;padding:3px}
.scm-ref-label-row input{flex:1;margin:0!important}

/* ---------- v0.3.26: AI生成サポートのステップ構成 ---------- */
.scm-step-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;margin-right:9px;border-radius:50%;
  background:var(--scm-line);color:#fff;font-size:13px;font-weight:800;vertical-align:-4px;
}
.scm-ai-flow-steps{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;
  margin:14px 0 0;padding:0;list-style:none;counter-reset:aiflow;
}
.scm-ai-flow-steps li{
  position:relative;padding:12px 12px 12px 14px;border:1px solid var(--scm-border);
  border-radius:var(--scm-r-ctrl);background:#fafcfb;
}
.scm-ai-flow-steps li strong{display:block;font-size:13px;color:var(--scm-line-dark);margin-bottom:3px}
.scm-ai-flow-steps li span{font-size:11.5px;color:var(--scm-muted);line-height:1.6;display:block}
.scm-ai-sub summary{cursor:pointer;font-weight:700;font-size:13px;color:var(--scm-muted)}
.scm-ai-sub summary::marker{color:var(--scm-line)}
.scm-ai-final-steps{margin:12px 0 0;padding-left:22px}
.scm-ai-final-steps li{margin-bottom:6px;font-size:13px;line-height:1.7}
@container (max-width:880px){.scm-ai-flow-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.scm-ai-flow-steps{grid-template-columns:1fr 1fr}}
