/* Field-guide typography and native controls. All assets and state stay local. */
.sm-guide{min-width:0}.sm-guide section{scroll-margin-top:120px}.sm-guide .sm-citations{font:13px/1.65 var(--sans);color:var(--muted);margin-top:22px}.sm-reading{padding-top:8px}.sm-figure{margin:30px 0}.sm-figure img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:4px;background:#eee9dd}.sm-figure figcaption{font:13px/1.6 var(--sans);color:var(--muted);margin-top:9px}.sm-table-scroll{max-width:100%;overflow:auto;overscroll-behavior-inline:contain;border:1px solid var(--line);border-radius:3px;margin:28px 0}.sm-table-scroll table{min-width:560px;margin:0;border:0}.sm-table-scroll th,.sm-table-scroll td{font-size:15px;line-height:1.65;vertical-align:top;padding:16px}.sm-table-scroll th[scope=row]{font-weight:600;width:24%}.sm-table-scroll:focus-visible{outline:3px solid var(--ink);outline-offset:4px}.sm-decoder{--sm-paper:#faf5e9;--sm-ink:#30352e;--sm-muted:#53594e;--sm-edge:#939383;background:var(--sm-paper);color:var(--sm-ink);border:1px solid var(--sm-edge);border-radius:5px;padding:clamp(20px,4vw,36px);margin-block:28px;box-shadow:0 9px 30px #22220e0a;font:16px/1.6 var(--sans)}.sm-decoder h3{font:clamp(26px,4vw,35px)/1.2 var(--serif);color:var(--sm-ink);max-width:22ch;margin:12px 0 18px}.sm-decoder :is(h4,h5){font-family:var(--serif);color:var(--sm-ink);margin:18px 0 10px}.sm-decoder h4{font-size:25px;line-height:1.25}.sm-decoder h5{font-size:21px}.sm-decoder p{font:16px/1.65 var(--sans);color:var(--sm-ink);margin:12px 0}.sm-decoder label,.sm-decoder legend{color:var(--sm-ink);font:600 15px/1.55 var(--sans)}.sm-decoder-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}.sm-decoder-fields label{display:block;margin-bottom:7px}.sm-decoder :is(select,input[type=search]){display:block;width:100%;min-width:0;min-height:48px;padding:10px 12px;border:1px solid var(--sm-edge);border-radius:3px;background:var(--sm-paper);color:var(--sm-ink);font:16px/1.5 var(--sans)}.sm-decoder input::placeholder{color:var(--sm-muted);opacity:1}.sm-decoder fieldset{min-width:0;padding:20px 0;border:0;border-top:1px solid var(--sm-edge);margin:26px 0 0}.sm-decoder legend{padding:0 8px 0 0;font-size:17px}.sm-decoder .sm-object-note,.sm-decoder .sm-filter-status,.sm-decoder .sm-selected{font:14px/1.65 var(--sans);color:var(--sm-muted)}.sm-decoder .sm-mark-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:340px;overflow:auto;overscroll-behavior:contain;padding:5px;scrollbar-gutter:stable}.sm-decoder .sm-mark-option{display:flex;align-items:flex-start;gap:10px;min-height:48px;padding:12px;border:1px solid var(--sm-edge);border-radius:3px;background:var(--sm-paper);font-weight:400;cursor:pointer}.sm-decoder .sm-mark-option[hidden]{display:none}.sm-decoder input[type=checkbox]{flex:0 0 19px;width:19px;height:19px;margin:3px 0 0;accent-color:#415c4a}.sm-decoder .sm-observations>label{display:flex;gap:12px;align-items:flex-start;padding-block:12px;min-height:44px;font-weight:400}.sm-decoder .sm-observations>label[for]{display:block;font-weight:600;padding-top:0}.sm-decoder .sm-result{border-left:3px solid var(--sm-edge);padding:2px 20px 16px;margin:20px 0;background:transparent}.sm-decoder .sm-result li{font:15px/1.65 var(--sans);margin:12px 0;color:var(--sm-ink)}.sm-decoder .sm-result li p{font-size:15px;margin:5px 0}.sm-decoder .sm-result-marks{padding-left:21px}.sm-decoder a{color:var(--sm-ink);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.sm-decoder .sm-caution{border-top:1px solid var(--sm-edge);padding-top:18px;font-size:14px}.sm-decoder .sm-reset{min-height:48px;background:var(--sm-ink);color:var(--sm-paper);border-color:var(--sm-ink);cursor:pointer}.sm-decoder :is(input,select,button,a):focus-visible{outline:3px solid var(--sm-ink);outline-offset:3px}.sm-decoder:not([data-enhanced]) .sm-reset{display:none}.sm-decoder .sm-nojs{font-weight:600}.sm-related .category-feature{gap:30px}.sm-related ul{min-width:200px}.sm-related p{max-width:55ch}.sm-related li{margin-block:12px}
html[data-theme=dark] .sm-decoder{--sm-paper:#292c29;--sm-ink:#f0ebdf;--sm-muted:#cbc6b8;--sm-edge:#94988d;box-shadow:none}html[data-theme=dark] .sm-decoder input[type=checkbox]{accent-color:#c6dbbd}
@media(max-width:650px){.sm-decoder-fields,.sm-decoder .sm-mark-list{grid-template-columns:1fr}.sm-decoder .sm-mark-list{max-height:300px}.sm-decoder .sm-result{padding-inline:12px}.sm-table-scroll th,.sm-table-scroll td{padding:12px}.sm-figure{margin-inline:-5px}.sm-related .category-feature{display:block}.sm-related ul{padding-left:22px}}
@media(prefers-reduced-motion:reduce){.sm-decoder,.sm-decoder *{scroll-behavior:auto;transition:none;animation:none}}
@media(forced-colors:active){.sm-decoder,html[data-theme=dark] .sm-decoder{--sm-paper:Canvas;--sm-ink:CanvasText;--sm-muted:CanvasText;--sm-edge:ButtonText;box-shadow:none}.sm-decoder :is(input,select,button,a):focus-visible{outline-color:Highlight}.sm-decoder input[type=checkbox],html[data-theme=dark] .sm-decoder input[type=checkbox]{accent-color:auto}}
@media print{.sm-decoder .sm-mark-list{max-height:none;overflow:visible}.sm-decoder .sm-reset,.sm-decoder [data-sm-filter],.sm-decoder [for=sm-filter]{display:none}.sm-decoder,.sm-decoder .sm-result{box-shadow:none;break-inside:auto}.sm-table-scroll{overflow:visible}.sm-table-scroll table{min-width:0}.sm-figure{break-inside:avoid}}
