@font-face{font-family:'Space Grotesk';src:url('/portal-brand/space-grotesk.otf') format('opentype');font-display:swap;font-weight:500}
*{box-sizing:border-box}body{margin:0;background:#fff;color:#110a07;font-family:'Space Grotesk',system-ui,sans-serif;font-weight:500;-webkit-font-smoothing:antialiased;min-height:100svh;display:flex;flex-direction:column}a{color:inherit}button,input{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #b83212;outline-offset:4px}.portal-chrome{display:contents}.skip-link{position:fixed;top:8px;left:24px;z-index:100;padding:12px 18px;background:#fff;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid #e8e5e2;background:#ffffffed;position:sticky;top:0;z-index:20;backdrop-filter:blur(20px)}.site-header-inner{max-width:1188px;min-height:72px;margin:auto;padding:12px 24px;display:flex;align-items:center;gap:24px}.brand-home{display:flex;flex-shrink:0}.exo-logo{width:auto;height:28px;display:block}.portal-label{border-left:1px solid #e8e5e2;padding-left:24px;font-size:13px;color:#554c48}.site-header nav{margin-left:auto;display:flex;align-items:center;gap:20px}.site-header nav a{display:inline-flex;align-items:center;gap:8px;min-height:44px;text-decoration:none;font-size:14px;color:#554c48}.site-header nav a:hover{color:#110a07}.library-nav svg{width:20px;height:20px;fill:currentColor}.site-header nav .is-current{color:#110a07}.is-current svg{color:#fe441b}.header-help,.header-action{padding:0 14px;border:1px solid #e8e5e2;border-radius:6px;background:#fff}.access-shell{width:100%;max-width:1188px;margin:0 auto;padding:64px 24px 80px;flex:1}.access-panel{max-width:560px}.prepared{display:flex;align-items:center;gap:20px;margin-bottom:48px}.prepared span{font-size:13px;color:#554c48}.prepared img{width:125px;height:40px;object-fit:contain;object-position:left center}.prepared img.logo-large[src]{width:190px;height:70px;object-position:left center}.eyebrow{display:flex;align-items:center;gap:10px;font-size:14px;color:#554c48;margin:0 0 20px}.eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:#fe441b}h1{font-size:clamp(34px,4vw,48px);letter-spacing:-.04em;line-height:1.12;font-weight:500;margin:0 0 24px;max-width:680px}.lead{font-size:18px;line-height:1.65;color:#554c48;max-width:540px;margin:0 0 32px}.primary-action{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:#fe441b;border:1px solid #fe441b;border-radius:6px;color:#fff;padding:14px 22px;font-size:16px;text-decoration:none;cursor:pointer;min-height:48px;transition:background .15s}.primary-action:hover{background:#ff5734}.access-note{font-size:13px;line-height:1.6;color:#554c48;margin:22px 0 0}.analytics-note{font-size:12px;line-height:1.6;color:#554c48;margin:14px 0 0;max-width:560px}.analytics-note a{text-underline-offset:3px}.library-content .analytics-note{margin-top:32px}.setup-note{font-size:16px;line-height:1.65;max-width:460px}.site-footer{border-top:1px solid #e8e5e2;background:#f7f7f7}.footer-inner{max-width:1188px;margin:auto;padding:44px 24px 24px}.footer-top{display:grid;grid-template-columns:1.2fr 1fr;gap:64px}.footer-brand p{max-width:300px;font-size:14px;line-height:1.7;color:#554c48;margin:20px 0}.private-label{font-size:12px;color:#554c48;display:flex;align-items:center;gap:8px}.private-label svg{width:16px;height:16px}.site-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:40px}.site-footer h2{font-size:14px;margin:0 0 12px;font-weight:500}.site-footer nav a{display:block;width:fit-content;padding:7px 0;color:#554c48;font-size:14px;text-decoration:none}.site-footer a:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom{margin-top:32px;padding-top:24px;border-top:1px solid #e8e5e2;display:flex;justify-content:space-between;gap:20px;color:#554c48;font-size:12px;line-height:1.6}.access-shell.library-shell{max-width:none;padding:0}.library-container{width:100%;max-width:1188px;margin:0 auto;padding-left:24px;padding-right:24px}.library-hero{background:#f7f7f7;border-bottom:1px solid #e8e5e2;padding:56px 0 44px}.library-content{padding-top:8px;padding-bottom:80px}.library-shell .prepared{margin-bottom:36px}.library-shell .page-intro{padding-bottom:0}.library-shell .lead{margin-bottom:0}.library-shell h1{display:flex;align-items:center;gap:16px;max-width:none}.library-icon{display:inline-flex;color:#fe441b;flex-shrink:0}.library-icon svg{width:40px;height:40px;fill:currentColor}.library-toolbar{padding:28px 0;display:flex;align-items:center;justify-content:space-between;gap:24px}.library-toolbar h2{margin:0;font-size:16px;font-weight:500;display:flex;align-items:center;gap:14px}.package-count{font-size:12px;color:#554c48;background:#f7f7f7;padding:6px 9px;border:1px solid #e8e5e2;border-radius:6px}.package-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.package-list li{min-width:0}.package-card{height:100%;min-height:280px;display:flex;flex-direction:column;padding:28px;border:1px solid #e8e5e2;border-radius:6px;text-decoration:none;background:#fff;box-shadow:0 1px 2px rgb(17 10 7 / 4%);transition:box-shadow .18s,border-color .18s}.package-card:hover{border-color:#c9c0bb;box-shadow:0 6px 20px rgb(17 10 7 / 7%)}.package-card-top{display:flex;align-items:center;gap:12px;margin-bottom:28px}.package-icon{display:inline-flex;color:#fe441b;flex-shrink:0}.package-icon svg{width:32px;height:32px;fill:currentColor}.package-kind{font-size:12px;color:#554c48}.package-card h3{font-size:24px;font-weight:500;line-height:1.25;letter-spacing:-.025em;margin:0 0 12px;overflow-wrap:anywhere}.package-card p{font-size:15px;color:#554c48;line-height:1.65;margin:0 0 32px;overflow-wrap:anywhere}.package-open{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:20px;border-top:1px solid #e8e5e2;margin-top:auto;font-size:14px;color:#110a07}.package-open svg{width:20px;height:20px;transition:transform .15s}.package-card:hover .package-open svg{transform:translateX(2px)}.library-empty{padding:40px 0;max-width:480px}.library-empty h3{font-size:24px;font-weight:500;margin:20px 0 12px}.library-empty p{font-size:16px;line-height:1.65;color:#554c48}.library-empty a{display:inline-block;padding:12px 0;text-underline-offset:4px}@media(max-width:900px){.package-list{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-label{display:none}.footer-top{gap:40px}}@media(max-width:600px){.site-header-inner{padding:10px 20px;gap:16px;flex-wrap:wrap}.exo-logo{height:26px}.site-header nav{gap:12px}.site-header nav a{font-size:12px}.header-help{display:none!important}.access-shell{padding:40px 24px 56px}.prepared{margin-bottom:36px}.lead{font-size:17px}.library-hero{padding:36px 0}.library-content{padding-bottom:56px}.library-shell h1{align-items:flex-start;gap:12px}.library-icon svg{width:32px;height:32px}.library-toolbar{gap:12px;padding:20px 0}.library-toolbar h2{flex-wrap:wrap;gap:8px;font-size:14px}.package-list{grid-template-columns:1fr;gap:20px}.package-card{min-height:260px;padding:24px}.footer-inner{padding:36px 24px 24px}.footer-top{grid-template-columns:1fr;gap:32px}.site-footer nav{gap:24px}.footer-bottom{flex-direction:column;gap:10px}.primary-action{width:100%}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media print{.site-header,.site-footer{display:none}}

/* Fit Clerk's full flow to the content column without clipping controls. */
.portal-auth,.portal-auth-box,.portal-auth-card{width:100%!important;min-width:0!important;max-width:100%!important}
.portal-auth{max-width:440px!important}
.portal-auth-box,.portal-auth-card{box-shadow:none!important;border:0!important;border-radius:0!important;background:transparent!important;overflow:visible!important}
.portal-auth-card{padding:0!important;gap:24px!important}
.portal-auth .cl-main,.portal-auth .cl-form,.portal-auth .cl-formFieldRow{min-width:0;width:100%}
.portal-auth .cl-signIn-start .cl-header{display:none}
.portal-auth-title{font-size:24px!important;font-weight:500!important;letter-spacing:-.025em}
.portal-auth-description{color:#554c48!important;line-height:1.6!important;overflow-wrap:anywhere}
.portal-auth-input{width:100%!important;min-width:0!important;min-height:48px!important;border:1px solid #e8e5e2!important;border-radius:6px!important;box-shadow:none!important;font-size:16px!important;padding:12px 14px!important}
.portal-auth-submit{min-height:48px!important;background:#fe441b!important;color:#fff!important;background-image:none!important;border:1px solid #fe441b!important;border-radius:6px!important;box-shadow:none!important;font-size:16px!important;text-transform:none!important}
.portal-auth-submit:hover{background:#ff5734!important}
.portal-auth-submit:active{background:#e73916!important}
.portal-auth :is(button,a):focus-visible{outline:2px solid #b83212!important;outline-offset:3px!important}
.portal-auth :is(.portal-auth-input,.portal-auth-code){background:#fff!important;color:#110a07!important;-webkit-text-fill-color:#110a07!important;caret-color:#110a07!important;opacity:1!important}
.portal-auth :is(.portal-auth-input,.portal-auth-code):is(:focus,:focus-visible){outline:none!important;box-shadow:none!important;border-color:#e8e5e2!important;background:#f0ede9!important}
.portal-auth :is(.portal-auth-input,.portal-auth-code):is(:disabled,[aria-disabled="true"]){color:#110a07!important;-webkit-text-fill-color:#110a07!important;opacity:1!important}
.portal-auth-input::placeholder{color:#554c48!important;-webkit-text-fill-color:#554c48!important;opacity:1!important}
.portal-auth-code{min-width:0!important;min-height:44px!important;border:1px solid #e8e5e2!important;border-radius:6px!important;box-shadow:none!important}
.portal-auth .cl-otpCodeField{max-width:100%;gap:6px}
.portal-auth .cl-identityPreview{max-width:100%;min-width:0}
.portal-auth .cl-identityPreviewText{overflow-wrap:anywhere;min-width:0}
.portal-auth-title,.portal-auth .cl-formFieldLabel,.portal-auth .cl-identityPreviewText{color:#110a07!important;opacity:1!important}
.portal-auth .cl-formFieldHintText,.portal-auth .cl-formResendCodeLink,.portal-auth .cl-otpCodeFieldResendButton{color:#554c48!important;opacity:1!important}
.portal-auth-footer{background:transparent!important}
.portal-auth-footer:empty{display:none}
@media(max-width:360px){.access-shell{padding-inline:18px}.site-header-inner{padding-inline:18px}}

.portal-auth-submit svg{display:none}.portal-auth-submit::after{content:"→"!important;position:static!important;display:inline-block!important;inset:auto!important;width:auto!important;height:auto!important;background:none!important;box-shadow:none!important;border:0!important;margin-left:12px;transition:transform .15s}.portal-auth-submit:hover::after{transform:translateX(2px)}


#invitation-help{font-size:14px;line-height:1.65;color:#554c48;margin-top:28px;max-width:440px}.invitation-return{font-size:14px;text-underline-offset:4px}

/* Embedded client marks appear only in the authenticated library. */
.prepared img[src^="data:image/svg+xml"]{width:104px;height:104px;object-position:center;background:transparent;padding:0}
