.support-main { max-width: 920px; padding: 3rem 0; }
.support-main h1 { margin: .25rem 0 1rem; font-size: clamp(2rem, 5vw, 3.4rem); }
.support-main h2 { margin: 0 0 .6rem; }
.support-main p { line-height: 1.6; }
.support-main [hidden] { display: none !important; }
.support-panel, .support-notice, .support-result { border: 1px solid #bcc9c1; border-radius: 14px; padding: 1rem 1.2rem; margin: 1rem 0; overflow-wrap: anywhere; }
.support-panel { background: #fff; color: #1c2923; }
.support-notice { color: #3b341f; background: #fff6dc; border-color: #d6c38b; }
.support-result { color: #1c2923; background: #f1f6f2; }
.support-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr)); gap: 1rem; align-items: start; }
.support-grid > * { min-width: 0; }
.support-panel fieldset { display: grid; gap: .55rem; padding: 0; margin: 0; border: 0; min-width: 0; }
.support-panel label { font-weight: 600; }
.support-panel input:not([type=checkbox]), .support-panel select { display: block; width: 100%; min-width: 0; padding: .6rem .65rem; font: inherit; color: #1c2923; background: #fff; border: 1px solid #758b7d; border-radius: 7px; }
.support-panel button { justify-self: start; min-height: 2.6rem; margin: .4rem 0 0; padding: .55rem .8rem; border: 1px solid #315442; border-radius: 8px; background: #315442; color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.support-panel button.support-secondary { color: #254938; background: #fff; }
.support-panel button:disabled { opacity: .65; cursor: not-allowed; }
.support-panel :focus-visible { outline: 3px solid #386db7; outline-offset: 2px; }
.support-check { display: flex; align-items: baseline; gap: .55rem; padding: .45rem 0; }
.support-check input { flex: 0 0 auto; }
.support-check small { display: block; margin-top: .25rem; }
.support-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.support-small { font-size: .9rem; }
.support-result dl { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: .35rem .7rem; margin: 0; }
.support-result dt { font-weight: 600; }
.support-result dd { margin: 0; }
.support-result li { padding: .15rem 0; }
.support-main code { user-select: all; }
@media (max-width: 520px) { .support-main { padding: 1.7rem 0; } .support-panel { padding: .9rem; } }
