/* Native modal enters the browser's top layer, above navigation and page artwork. */
html:has(#detail[open]){overflow:hidden}
#portal-app #detail{position:fixed;inset:0;width:100%;max-width:100%;height:100vh;height:100dvh;max-height:100%;margin:0;padding:0;border:0;border-radius:0;background:#fcf9ff;color:#35154f;box-shadow:none;animation:none;overflow:hidden;overscroll-behavior:contain;box-sizing:border-box}
#portal-app #detail[open]{display:flex;flex-direction:column}
#portal-app #detail::backdrop{background:#26133599}
#portal-app #detail .detail-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0;padding:12px 18px;padding-top:max(12px,env(safe-area-inset-top));border-bottom:1px solid #e7d7f2;background:white;font-size:16px;font-weight:700}
#portal-app #detail .detail-close{position:static;float:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:108px;min-height:56px;padding:4px 14px;border:2px solid #8a42c6;border-radius:14px;background:#f2e5ff;color:#56217d;font:inherit;font-size:16px;font-weight:750;cursor:pointer;flex-shrink:0}
#portal-app #detail .detail-close-mark{display:block;font-size:40px;font-weight:500;line-height:1}
#portal-app #detail .detail-close:hover{background:#e8d2fb}
#portal-app #detail .detail-scroll{flex:1;min-height:0;width:100%;max-width:840px;margin:0 auto;padding:26px 20px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow-wrap:anywhere}
#portal-app #detail h2{font-size:26px;line-height:1.4;padding:0;margin:0 0 12px}
#portal-app #detail .job-description{font-size:16px;line-height:1.85;white-space:pre-wrap}
#portal-app #detail .detail-footer{flex-shrink:0;border-top:1px solid #e7d7f2;background:#fff;padding:14px 20px;padding-bottom:max(14px,env(safe-area-inset-bottom));box-shadow:0 -5px 20px #5124790b}
#portal-app #detail .application-actions{display:flex;width:100%;max-width:800px;margin:auto;gap:12px}
#portal-app #detail .application-actions .pill{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;padding:14px 20px;font-size:16px;text-align:center;border-radius:14px;text-decoration:none}
#portal-app #detail :focus-visible{outline:3px solid #8a42c6;outline-offset:3px}
@media(max-width:400px){#portal-app #detail .detail-header{padding-left:14px;padding-right:14px}#portal-app #detail .detail-scroll{padding:22px 16px}#portal-app #detail h2{font-size:23px}}

#portal-app #detail .job-description{display:block;max-height:none;overflow:visible;-webkit-line-clamp:unset}
#portal-app #detail .description-source:empty{display:none}
#portal-app #detail .description-source{padding:16px;border:1px solid #dfc9ef;border-radius:14px;background:#f2e7fc;margin:12px 0 20px}
#portal-app #detail .description-source p{margin:0 0 12px;font-size:14px;line-height:1.7;color:#604273}
#portal-app #detail .full-description-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border:1px solid #7840de;border-radius:10px;background:white;color:#6523a0;font-size:15px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
