.upload-guide { max-width: 1080px; margin-inline: auto; }
.upload-guide h1 { margin-block: 8px 12px; }
.upload-guide h2 { margin-top: 8px; }
.upload-guide h3 { margin-block: 8px; font-size: 1.05rem; }
.upload-guide-intro { max-width: 65ch; }
.upload-guide-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.upload-guide-path { display: block; padding: 22px; border: 1px solid var(--border-2); border-radius: 12px; background: var(--surface); }
.upload-guide-path strong { display: block; font-size: 1.15rem; }
.upload-guide-path span { display: block; margin-top: 6px; color: var(--text-2); }
.upload-guide-path strong span { display: inline; color: inherit; }
.upload-guide-section { margin-top: 24px; padding: clamp(18px, 3vw, 30px); scroll-margin-top: 24px; }
.upload-guide-ingredient { border: 1px solid var(--border-2); border-radius: 10px; padding: 18px; }
.upload-guide-ingredient p { margin-bottom: 0; }
.upload-guide-ingredient svg { display: block; width: 100%; height: 110px; margin-block: 12px; border-radius: 6px; background: #f4f0e5; }
.upload-guide-tag { display: inline-block; color: var(--text-2); font-size: .85rem; }
.upload-guide-note { border-left: 3px solid var(--accent); background: var(--bg-2); padding: 14px 18px; margin-block: 18px; }
.upload-guide-flow { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 0; list-style: none; }
.upload-guide-flow li { border: 1px solid var(--border-2); border-radius: 8px; padding: 12px 16px; }
.upload-guide-flow li + li::before { content: "→"; margin-right: 12px; color: var(--accent); }
.upload-guide details { border-top: 1px solid var(--border); padding-block: 16px; }
.upload-guide summary { cursor: pointer; font-weight: 600; }
.upload-guide details > :not(summary) { margin-top: 14px; }
.upload-guide li { margin-block: 6px; }
.upload-guide-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 18px; }
.upload-guide a { overflow-wrap: anywhere; }
.upload-guide :target { outline: 2px solid var(--accent); outline-offset: 4px; }
@media (max-width: 650px) {
  .upload-guide-grid { grid-template-columns: 1fr; }
  .upload-guide-flow { align-items: stretch; flex-direction: column; }
}
