.wf-page { --wf-button-text: #102522; min-width: 0; overflow-wrap: anywhere; }
[data-theme="light"] .wf-page { --wf-button-text: #fff; }
.wf-skip { position: absolute; z-index: 1000; top: .5rem; left: .5rem; transform: translateY(-150%); padding: .4rem .7rem; background: var(--sf); color: var(--brand-ink); }
.wf-skip:focus { transform: none; }
.wf-page h2 { font-size: 1.1rem; margin: 0 0 .65rem; }
.wf-page h3 { font-size: 1rem; margin: 1rem 0 .45rem; }
.wf-page [hidden] { display: none; }
.wf-hero { display: flex; flex-wrap: wrap; align-items: end; gap: 1rem 2rem; justify-content: space-between; padding: 1rem 0 1.35rem; }
.wf-hero h1 { font-size: clamp(1.75rem, 5vw, 2.7rem); line-height: 1.17; margin: .35rem 0 .6rem; }
.wf-hero p { margin: 0; }
.wf-kicker { color: var(--g); font-size: .75rem; font-weight: 750; letter-spacing: .12em; margin: 0 0 .35rem; }
.wf-kicker span { color: var(--dim); }
.wf-stamp { display: grid; gap: .1rem; border-left: 2px solid var(--g); padding: .1rem .75rem; font-size: .81rem; }
.wf-stamp span, .wf-subtitle, .wf-status, .wf-legal { color: var(--dim); }
.wf-stamp time { font-size: 1.1rem; font-weight: 750; font-variant-numeric: tabular-nums; }
.wf-panel, .wf-search { background: var(--sf); border: 1px solid var(--line); border-radius: .65rem; padding: clamp(.85rem, 2.5vw, 1.35rem); min-width: 0; }
.wf-search { border-top: 3px solid var(--g); }
.wf-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(8rem, 11rem) auto; align-items: end; gap: .65rem; }
.wf-field { min-width: 0; }
.wf-field label { font-size: .84rem; font-weight: 650; }
.wf-fields :is(input, select) { width: 100%; margin-top: .25rem; }
.wf-page :is(input, select, button) { min-height: 2.65rem; font: inherit; color: var(--ink); background: var(--bg); border: 1px solid var(--line); border-radius: .38rem; padding: .38rem .65rem; }
.wf-page button { cursor: pointer; }
.wf-page :is(button, input, select, summary):focus-visible { outline: 2px solid var(--g); outline-offset: 2px; }
.wf-page button:hover { border-color: var(--g); }
.wf-page .wf-submit { font-weight: 750; background: var(--g); color: var(--wf-button-text); border-color: var(--g); padding-inline: 1.05rem; }
.wf-quick { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; margin-top: .75rem; font-size: .8rem; }
.wf-quick span { color: var(--dim); margin-right: .2rem; }
.wf-quick button { min-height: 2.25rem; }
.wf-status { margin: .65rem 0 0; font-size: .84rem; }
.wf-results { display: grid; grid-template-columns: minmax(0, 1fr); gap: .85rem; margin-top: .85rem; }
.wf-results:has(.wf-detail:not([hidden])):has(.wf-matches:not([hidden])) { grid-template-columns: minmax(12rem, 1fr) minmax(0, 3fr); align-items: start; }
.wf-list, .wf-info ul { list-style: none; margin: 0; padding: 0; }
.wf-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr)); gap: .35rem; }
.wf-list button { width: 100%; text-align: left; overflow-wrap: anywhere; }
.wf-list button[aria-pressed="true"] { border-color: var(--g); color: var(--g); font-weight: 750; }
.wf-list small, .wf-place small, .wf-chance small { display: block; color: var(--dim); font-size: .78rem; }
.wf-page #wf-more-items, .wf-table-more { margin-top: .55rem; }
.wf-detail h2 { font-size: clamp(1.3rem, 3vw, 1.75rem); margin: 0; }
.wf-item-heading { display: flex; align-items: center; gap: .65rem; }
.wf-item-identity { min-width: 0; }
.wf-item-icon { display: grid; place-items: center; position: relative; flex: 0 0 40px; width: 40px; height: 40px; overflow: hidden; background: var(--bg); outline: 1px solid var(--line); outline-offset: -1px; }
.wf-item-icon::before { content: ""; width: .8rem; height: .8rem; border: 1px solid var(--dim); transform: rotate(45deg); }
.wf-item-icon.has-icon { background: transparent; outline: none; }
.wf-item-icon.has-icon::before { content: none; }
.wf-item-icon img { position: absolute; top: 0; left: 0; max-width: none; }
.wf-subtitle { margin: .1rem 0 .6rem; font-size: .86rem; }
.wf-item-heading .wf-subtitle { margin-bottom: 0; }
.wf-detail table { width: 100%; border-collapse: collapse; text-align: left; font-size: .86rem; table-layout: fixed; }
.wf-detail th, .wf-detail td { border-bottom: 1px solid var(--line); padding: .48rem .38rem; vertical-align: top; }
.wf-detail th { color: var(--dim); font-size: .76rem; }
.wf-detail th:first-child { width: 53%; }
.wf-detail th:last-child { width: 21%; }
.wf-chance { font-variant-numeric: tabular-nums; }
.wf-chance strong { color: var(--g); }
.wf-info { margin-top: 1rem; }
.wf-info dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin: 0 0 .85rem; }
.wf-info dt { font-weight: 750; margin-bottom: .2rem; }
.wf-info dd { margin: 0; color: var(--dim); font-size: .89rem; }
.wf-info details { border-top: 1px solid var(--line); padding-top: .75rem; }
.wf-info summary { cursor: pointer; font-weight: 700; }
.wf-info li { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: .5rem; padding: .35rem 0; border-top: 1px solid var(--line); font-size: .85rem; }
.wf-legal { font-size: .8rem; margin: .9rem 0; }
@media (max-width: 700px) {
  .wf-fields { grid-template-columns: minmax(0, 1fr) auto; }
  .wf-field:first-child { grid-column: 1 / -1; }
  .wf-fields input { font-size: 1rem; }
  .wf-results:has(.wf-detail:not([hidden])):has(.wf-matches:not([hidden])), .wf-info dl { grid-template-columns: minmax(0, 1fr); }
  .wf-hero { align-items: start; gap: .75rem; padding-top: 0; padding-bottom: 1rem; }
  .wf-stamp { grid-template-columns: auto auto; align-items: center; gap: .1rem .5rem; }
  .wf-stamp a { grid-column: 1 / -1; }
  .wf-detail table { font-size: .78rem; }
  .wf-detail th, .wf-detail td { padding-inline: .25rem; }
}
