/* Keep every dialog within the available screen, including short viewports. */
.logo-img{width:168px;height:auto;max-width:100%}
.nav-inner>a:first-child{flex-shrink:0}
.page,.results>div,.card,.card-grid,.card-foot,.deadline,.lp-field{min-width:0}
#directory{scroll-margin-top:104px}
.card,.detail-body{overflow-wrap:anywhere}
.card-foot{gap:12px;align-items:flex-end}
.card-foot .deadline{align-items:flex-start}
.card-foot svg,.card-foot .arrow{flex-shrink:0}
.card-foot .deadline strong{line-height:1.5}
.hero-help{margin-top:18px}
.results-head{gap:12px;flex-wrap:wrap}
.filters{max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain;padding-right:6px}
.filters label{min-height:36px}
.filters input[type=checkbox]{flex-shrink:0;width:18px;height:18px;margin:0}
.sort select{min-height:44px}
.card:focus-visible,a:focus-visible{outline:2px solid var(--accent-fg);outline-offset:3px}
.card-foot .deadline.live::before{animation:none}
dialog{color:var(--ink)}
dialog:not([open]){display:none!important}
dialog::backdrop{background:rgba(20,18,12,.48);backdrop-filter:blur(3px)}
.detail-pane{margin:0 0 0 auto;left:auto;top:var(--scholar-viewport-top,0px);bottom:auto;height:var(--scholar-viewport-height,100dvh);max-height:none;max-width:100%;border:0;padding:0;overscroll-behavior:contain}
.detail-head{position:sticky;top:0;background:var(--paper);z-index:2;padding:12px 24px;border-bottom:1px solid var(--line)}
.detail-head .btn{min-height:44px}
.detail-cta{padding-bottom:max(22px,env(safe-area-inset-bottom));background:var(--paper)}
.filter-sheet-scrim,.lp-overlay{margin:0;border:0;left:0;right:auto;top:var(--scholar-viewport-top,0px);bottom:auto;width:100%;max-width:none;height:var(--scholar-viewport-height,100dvh);max-height:none;background:transparent;backdrop-filter:none;overflow:hidden}
.filter-sheet-scrim::backdrop,.lp-overlay::backdrop{background:rgba(20,18,12,.48)}
.filter-sheet-scrim{padding:16px 16px 0;align-items:flex-end}
.filter-sheet{max-width:580px;max-height:100%;height:min(720px,100%);transform:none}
.filter-sheet-body{min-height:0;overscroll-behavior:contain}
.filter-sheet-body .group{margin-bottom:24px}
.filter-sheet-body h4{margin:0 0 8px;font-size:13px;font-weight:600}
.filter-sheet-body label{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px}
.filter-sheet-body input{width:18px;height:18px;margin:0;accent-color:var(--ink);flex-shrink:0}
.filter-sheet-body .count{margin-left:auto;color:var(--muted)}
.filter-sheet-foot{flex-shrink:0;padding-bottom:max(18px,env(safe-area-inset-bottom))}
.sheet-close{min-width:44px;min-height:44px;flex-shrink:0}
.lp-overlay{padding:20px;align-items:center;justify-content:center}
.lp-card{display:flex;flex-direction:column;max-width:560px;max-height:100%;transform:none;min-height:0}
.lp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px 10px 24px;background:var(--ink);color:#fff;flex-shrink:0}
.lp-toolbar>span{font-size:12px;font-weight:500}
.lp-close{display:grid;place-items:center;position:static;width:44px;height:44px;flex-shrink:0;border:1px solid #68708e;border-radius:50%;background:transparent;color:#fff;cursor:pointer}
.lp-close:hover{background:#36416b;transform:none}
.lp-close:focus-visible{outline-color:#fff}
.lp-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.lp-head{padding:6px 24px 20px;background:var(--ink)}
.lp-title{font-size:28px;text-wrap:pretty}
.lp-sub{font-size:14px;max-width:50ch}
.lp-body{padding:20px 24px 24px}
.lp-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-bottom:14px}
.lp-field>label,.lp-help legend{font-family:var(--sans);font-size:13px;letter-spacing:0;text-transform:none;color:var(--ink-2);font-weight:500}
.lp-field input,.lp-field select{width:100%;min-width:0;min-height:46px;font-size:16px}
.lp-help{border:0;padding:0;margin:0 0 14px;min-width:0}
.lp-help legend{padding:0 0 8px}
.lp-radio{font-size:14px;min-height:44px;line-height:1.5}
.lp-radio input:focus-visible+.pip{outline:2px solid var(--accent-fg);outline-offset:3px}
.lp-radio:has(input:checked){border-color:var(--ink);background:var(--paper);box-shadow:0 0 0 1px var(--ink)}
.lp-radio:has(input:checked) .pip{border-color:var(--ink)}
.lp-radio:has(input:checked) .pip::after{content:'';width:6px;height:6px;border-radius:50%;background:var(--ink)}
.lp-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.65;color:var(--muted);margin:18px 0 12px}
.lp-consent input{width:18px;height:18px;margin:2px 0 0;flex-shrink:0;accent-color:var(--ink)}
.lp-consent a{text-decoration:underline}
.lp-submit{min-height:48px;background:var(--accent-fg);font-size:15px}
.lp-finer{font-size:12px;line-height:1.6}
.lp-error{padding:12px;border:1px solid var(--bad);border-radius:6px;color:var(--bad);font-size:13px;line-height:1.6}
.lp-error a{text-decoration:underline;white-space:nowrap}
.lp-browse{display:block;margin:12px auto 0;min-height:44px;padding:8px 12px;border:0;background:transparent;text-decoration:underline;font-size:13px;color:var(--ink-2)}
@media(max-width:880px){.logo-img{width:148px;height:auto}.search input,.sort select{font-size:16px}.detail-pane{width:100%}.detail-head{padding:10px 18px}.hero-help{min-height:44px}}
@media(max-width:600px){.lp-overlay{padding:12px 0 0;align-items:flex-end}.lp-card{max-height:100%;border-radius:18px 18px 0 0}.lp-card::before{display:none}.lp-toolbar{padding:8px 14px 8px 18px}.lp-head{padding:5px 18px 18px}.lp-title{font-size:24px}.lp-sub{font-size:14px}.lp-body{padding:18px 18px max(22px,env(safe-area-inset-bottom))}.lp-row{grid-template-columns:1fr;gap:12px;margin-bottom:12px}.lp-field>label,.lp-help legend{font-size:13px}.lp-field input,.lp-field select{font-size:16px;padding:10px 12px;min-height:46px}.lp-radio{padding:10px 12px;font-size:14px}.lp-radio-group{gap:7px}.lp-finer{font-size:12px}.filter-sheet-scrim{padding:12px 0 0}.filter-sheet-head{padding:12px 18px}.filter-sheet-body{padding:14px 18px}}
@media(max-width:380px){.logo-img{width:124px;height:auto}.nav-inner{padding:12px 14px;gap:8px}.nav-inner>.btn{padding:8px!important;font-size:11.5px!important;min-height:44px}.nav-spacer{display:none}.nav-inner{justify-content:space-between}.hero-eyebrow{font-size:10px;letter-spacing:.06em}.detail-body{padding-inline:18px}.detail-cta{margin-inline:-18px;padding-inline:18px}.filter-sheet-foot{padding-inline:16px;gap:8px}.filter-sheet-foot .btn{font-size:12px;padding-inline:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(min-width:601px){.lp-radio-group{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lp-toolbar{padding-block:6px}.lp-head{padding:4px 24px 14px}.lp-title{font-size:26px}.lp-body{padding:16px 24px 20px}.lp-row{gap:10px;margin-bottom:10px}.lp-help{margin-bottom:10px}.lp-consent{margin:12px 0 8px}.lp-finer{margin-top:8px}.lp-browse{margin-top:4px}}
