@import url('https://fonts.googleapis.com/css2?family=PT+Serif:wght@400;700&family=Source+Sans+Pro:wght@400;600;700&display=swap');
:root{--bg:#fff;--ink:#222;--muted:#555;--line:#d9d9d9}
body{background:#fff;color:#222;font-family:"Source Sans Pro",Helvetica,Arial,sans-serif}
#employment-root{max-width:none;padding:0 0 24px}
.tabs{gap:0;justify-content:space-between;border-bottom:1px solid #ccc;padding:0}
.tab{font-size:16px;padding:16px 10px;color:#555;border-bottom:4px solid transparent}
.tab[aria-selected=true]{color:#c03;border-bottom-color:#c03}
button:focus-visible,a:focus-visible,summary:focus-visible,[role=tabpanel]:focus-visible{outline-color:#c03}
.toolbar{margin:22px 0 12px}.toolbar p{font-size:15px}
#refresh{color:#c03;border:1px solid #c03;border-radius:0;font-weight:600;padding:9px 18px}
#refresh:hover{background:#c03;color:#fff}
.tile{padding:25px 18px 26px;gap:12px}.tile:hover{background:#f8f8f8}
.tile-title{font-size:20px;line-height:1.3;color:#222;font-weight:600;margin-bottom:9px}
.tile:hover .tile-title{color:#c03}.rank-num{color:#c03;font-weight:600;font-size:14px}
.tile-sub{font-size:15px;color:#555}.tile-sub:first-of-type{color:#222;font-weight:600}
.deadline{font-size:13px;line-height:1.5;margin-top:12px}
.badge{color:#4a4a4a;background:#f3f3f3;border:0;border-radius:0;font-size:12px;padding:3px 7px}
.status{font-size:14px;color:#666;margin-bottom:22px}
.footnotes{font-size:13px;color:#666;margin-top:12px;padding-top:16px}.footnotes summary{color:#333}
.empty a,.footnotes a,noscript a{color:#c03}.skeleton:before,.skeleton:after{background:#eee}
@media(max-width:768px){.tabs{justify-content:flex-start}.tab{font-size:15px;padding:12px 8px}.tile-title{font-size:19px}}
@media(max-width:520px){#employment-root{padding:0 0 20px}.tabs{gap:0 12px}.tab{padding:12px 0}.tile{padding:22px 4px}}
/* Stable card geometry; the full original text stays available to assistive technology. */
.grid{grid-auto-rows:310px}
.tile{position:relative;height:310px;align-items:flex-start}
.tile-content{width:100%}
.tile-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;height:52px;margin:0 0 9px}
.tile-sub:not(.deadline){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:21px}
.deadline{height:39px;margin-top:12px;line-height:19.5px}
.card-full-text{display:none;position:absolute;z-index:3;inset:8px;padding:18px;background:#fff;color:#333;border:1px solid #ccc;border-top:3px solid #c03;box-shadow:0 4px 15px #0002;overflow:auto;font-size:15px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
.card-full-text span,.card-full-text strong{display:block;margin-bottom:7px}
.card-full-text .full-title{font-size:20px;font-weight:600;line-height:1.3;color:#c03}
.card-full-text .full-employer{font-weight:600}.card-full-text .full-dates{font-size:13px;margin-top:12px}
.tile:focus-visible:not(.hide-full-text) .card-full-text{display:block}
@media(hover:hover){.tile:hover:not(.hide-full-text) .card-full-text{display:block}}
@media(max-width:768px){.tile-title{height:49.4px}.card-full-text .full-title{font-size:19px}}
/* Application deadline is the only date shown; fresh-posting preference remains in sampling. */
.deadline{height:20px;white-space:nowrap}
.tile:hover,.tile:focus-visible{background:#c03;color:#fff}
.tile:hover .tile-title,.tile:hover .tile-sub,.tile:hover .rank-num,
.tile:focus-visible .tile-title,.tile:focus-visible .tile-sub,.tile:focus-visible .rank-num{color:#fff}
.tile:hover .badge,.tile:focus-visible .badge{color:#fff;background:rgba(255,255,255,.15)}
.card-full-text{inset:0;padding:25px 18px 26px;border:0;box-shadow:none;background:#c03;color:#fff}
.card-full-text .full-title{color:#fff}
@media(max-width:520px){.card-full-text{padding:22px 12px}}
/* Center the content block while keeping its number alongside the title. */
.tile{align-items:center}
.rank-num{align-self:center;transform:translateY(-85px)}
.card-full-text{align-items:center;gap:12px}
.tile:focus-visible:not(.hide-full-text) .card-full-text{display:flex}
@media(hover:hover){.tile:hover:not(.hide-full-text) .card-full-text{display:flex}}
.card-full-text .full-rank{flex:0 0 2.5ch;align-self:center;font-size:14px;font-weight:600;margin:0;color:#fff}
.card-full-text .full-body{min-width:0;margin:0;max-height:100%;overflow:auto}
.card-full-text .full-pay{display:inline-block;font-size:12px;background:rgba(255,255,255,.15);padding:3px 7px;margin:4px 0 0}
.tile{display:grid;grid-template-columns:2.5ch minmax(0,1fr);align-content:center;align-items:start}
.rank-num{align-self:start;transform:none}
.card-full-text{grid-template-columns:2.5ch minmax(0,1fr);align-content:safe center;align-items:start}
.tile:focus-visible:not(.hide-full-text) .card-full-text{display:grid}
@media(hover:hover){.tile:hover:not(.hide-full-text) .card-full-text{display:grid}}
.card-full-text .full-rank{align-self:start;padding-top:2px}
.card-full-text .full-body{max-height:none;overflow:visible}

/* Preserve the two-line title slot when showing full text on hover or keyboard focus. */
.card-full-text .full-title{min-height:2.6em;margin-bottom:9px}
