/* Speculator 1.0.7: closed and expanded controls share the same tokens. */
.sh-speculator { color-scheme:light; }
[data-theme="dark"] .sh-speculator { color-scheme:dark; }
.sh-speculator .sh-select-native { display:none!important; }
.sh-speculator .sh-select { display:inline-flex; min-width:0; width:100%; vertical-align:middle; }
.sh-speculator .sh-select-button { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-width:0; min-height:36px; padding:7px 10px; border:1px solid var(--border); border-radius:var(--r-control,8px); background:var(--surface); color:var(--ink); font:inherit; font-size:13px; line-height:1.4; text-align:left; cursor:pointer; box-shadow:none; }
.sh-speculator .lm-input:has(> .sh-select) { padding:0!important; border-color:transparent!important; background:transparent!important; box-shadow:none!important; min-width:0; }
.sh-speculator .lm-input.sm .sh-select-button { min-height:30px; padding:4px 8px; font-size:12px; }
.sh-speculator .sh-select-value { min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.sh-speculator .sh-select-chevron { flex:none; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); color:var(--ink-3); margin:0 3px; }
.sh-speculator .sh-select-button[aria-expanded="true"] .sh-select-chevron { transform:translateY(2px) rotate(225deg); }
.sh-speculator .sh-select-button:hover:not(:disabled) { background:var(--surface-2); border-color:var(--ink-4); }
.sh-speculator .sh-select-button:disabled { opacity:.5; cursor:not-allowed; }
.sh-speculator .sh-select-button[aria-invalid="true"] { border-color:var(--cold); }
.sh-speculator .sh-select-menu { position:fixed; inset:auto; margin:0; z-index:10020; box-sizing:border-box; padding:4px; overflow:auto; overscroll-behavior:contain; border:1px solid var(--border); border-radius:var(--r-control,8px); background:var(--surface); color:var(--ink); box-shadow:0 8px 28px color-mix(in srgb,var(--ink) 14%,transparent); font-family:inherit; font-size:13px; line-height:1.4; }
.sh-speculator .sh-select-option { position:relative; min-height:34px; box-sizing:border-box; padding:8px 30px 8px 10px; border-radius:calc(var(--r-control,8px) - 3px); cursor:pointer; overflow-wrap:anywhere; }
.sh-speculator .sh-select-option.is-active,.sh-speculator .sh-select-option:hover:not([aria-disabled="true"]) { background:var(--surface-2); }
.sh-speculator .sh-select-option[aria-selected="true"] { font-weight:var(--w-semibold,600); }
.sh-speculator .sh-select-option[aria-selected="true"]::after { content:'✓'; position:absolute; right:10px; color:var(--ink); }
.sh-speculator .sh-select-option[aria-disabled="true"] { opacity:.45; cursor:not-allowed; }
.sh-speculator .sh-select-group { padding:8px 10px 4px; font-size:11px; color:var(--ink-3); font-weight:var(--w-semibold,600); }
.sh-speculator :is(button,a,input,textarea,summary,[tabindex]):focus-visible { outline:2px solid var(--ink-3)!important; outline-offset:3px!important; box-shadow:none!important; }
.sh-speculator .lm-input:focus-within { border-color:var(--ink-3)!important; box-shadow:none!important; }
.sh-speculator :is(input,textarea) { accent-color:var(--ink); font-family:inherit; }
.sh-speculator input:is([type="checkbox"],[type="radio"]) { accent-color:var(--ink); }
.sh-speculator :is(input,textarea):disabled { cursor:not-allowed; }
.sh-speculator input:is([type="date"],[type="datetime-local"],[type="time"]) { color:var(--ink); font:inherit; min-width:0; }
@media (prefers-reduced-motion:reduce) { .sh-speculator .sh-select-button { transition:none; } }
.sh-speculator :is(input,textarea){color:var(--ink)!important}
.sh-speculator :is(input,textarea)::placeholder{color:var(--ink-3);opacity:1}

.sh-speculator .sh-select[hidden]{display:none}
/* One focus contour per field, rather than an outline inside another frame. */
.sh-speculator .lm-input:focus-within{outline:2px solid var(--ink-3);outline-offset:2px}
.sh-speculator .lm-input:has(> .sh-select):focus-within{outline:none}
.sh-speculator .lm-input :is(input,textarea):focus-visible{outline:none!important}
.sh-speculator input::-webkit-datetime-edit-day-field:focus,
.sh-speculator input::-webkit-datetime-edit-month-field:focus,
.sh-speculator input::-webkit-datetime-edit-year-field:focus,
.sh-speculator input::-webkit-datetime-edit-hour-field:focus,
.sh-speculator input::-webkit-datetime-edit-minute-field:focus,
.sh-speculator input::-webkit-datetime-edit-ampm-field:focus{background:var(--ink);color:var(--surface)}
.sh-speculator ::selection{background:var(--ink);color:var(--surface)}
