/* Construction toolbox */
.mobile-library-link{display:none}
body:has(section[data-page=library].show)>nav{background:var(--ink);color:#f5f8fb;border-color:var(--ink)}
body:has(section[data-page=library].show) .navlinks{background:var(--ink)}
body:has(section[data-page=library].show) .navlinks .cta{border-color:#9dd1e0;color:#9dd1e0}
.libraryhead{align-items:start}.libraryhead h1{font-size:clamp(32px,4vw,44px);max-width:530px}.libraryhead .eyebrow{margin-bottom:16px}
section[data-page=library] .noticebox{font-size:12px;border-radius:8px;background:#eaf1f6;color:#435b6d}
.gate{border-radius:8px;background:#fff;margin-bottom:24px}
.toolbox-controls{padding:24px;border:1px solid #d5e2ec;border-radius:12px;background:#edf4f9;margin-bottom:24px}
.toolbox-controls label{display:block;font-size:22px;line-height:1.3;margin-bottom:18px;color:#435b6d}
.toolbox-controls input{border:1px solid #bccfdf;border-radius:6px;background:#fff;padding:14px 16px}
.skillcategories{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.skillcategories button{border:1px solid #cfdeea;background:#f8fbfe;color:#193247;padding:9px 13px;border-radius:7px;cursor:pointer;font-size:12px;min-height:44px}
.skillcategories button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}
#skillresults{font-size:12px;margin:14px 0 0;color:#435b6d}
.toolbox-controls:not([hidden])~#publiclist .publichead{display:none}
.desk{grid-template-columns:minmax(0,.8fr) minmax(0,1.45fr);gap:22px}
.skillindex{gap:10px;min-width:0}
.skillchoice{position:relative;border:1px solid #d5e2ec;border-radius:8px;background:#fff;gap:14px;padding:18px 16px;min-height:96px;width:100%}
.skillchoice:hover{border-color:#87b6cb;background:#f0f8fc}
.skillchoice[aria-pressed=true]{background:#e1f3fb;color:#193247;border-color:#bedfea}
.skillchoice[aria-pressed=true]:before{content:'';position:absolute;left:-1px;top:10px;bottom:10px;width:4px;border-radius:3px;background:var(--ink)}
.skillchoice .skill-icon{width:23px;height:29px;border:1.5px solid #38657e;border-radius:2px;position:relative}
.skill-icon:after{content:'';position:absolute;left:4px;right:4px;top:8px;height:1px;background:#38657e;box-shadow:0 5px #38657e,0 10px #38657e}
.skillchoice .skill-copy{width:auto;min-width:0;flex:1;font-size:14px}.skill-copy b{display:block;line-height:1.35}.skill-copy small{display:block;font-size:12px;font-weight:400;line-height:1.5;margin-top:6px;color:#435b6d}
.skillchoice .skill-arrow{width:auto;font-size:18px;color:#38657e}
.skilldetail{min-width:0;padding:32px;border:1px solid #d5e2ec;border-radius:10px;box-shadow:0 8px 28px #19324706;scroll-margin-top:90px}
.skilldetail .eyebrow{color:#38657e;padding-bottom:16px;border-bottom:1px solid #d5e2ec;margin-bottom:22px}
.skilldetail h2{font-size:34px}.skilldetail>p:not(.libnote){font-size:16px;color:#435b6d}
.skilldetail ul{list-style:none;padding:0;margin:22px 0}.skilldetail ul li{position:relative;padding-left:28px;margin:12px 0}
.skilldetail ul li:before{content:'✓';position:absolute;left:0;top:3px;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:var(--ink);color:white;font-size:11px}
.downloadbuttons{gap:10px}.downloadbuttons .btn{border-radius:6px;border-color:var(--ink);color:var(--ink)}.downloadbuttons .btn:first-child{background:var(--ink);color:white}
.skilldetail>.libnote{background:#edf4f9;border-radius:6px;padding:14px;margin-top:16px}
.usage{border-color:#d5e2ec}.usage ol{list-style:none;counter-reset:steps;padding:0}.usage li{counter-increment:steps;position:relative;padding-left:34px;margin:12px 0}.usage li:before{content:counter(steps);position:absolute;left:0;top:0;background:#e4edf4;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:bold}
#gatelist{margin-top:18px}.toolbox-empty{grid-column:1/-1;background:#fff;border:1px solid #d5e2ec;border-radius:8px;padding:26px}
@media(max-width:800px){
 .navin{gap:10px}.mobile-library-link{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;padding:10px 12px;min-height:44px;background:var(--ink);color:#fff;border-radius:5px;text-decoration:none;font-size:12px;font-weight:700;white-space:nowrap}
 #burger{flex-shrink:0;min-height:44px;padding:7px 12px}
 body:has(section[data-page=library].show) .mobile-library-link{display:none}
 .libraryhead{gap:20px}.libraryhead p{max-width:none}.toolbox-controls{padding:18px}.toolbox-controls label{font-size:20px}
 .skillcategories{flex-wrap:nowrap;overflow-x:auto;padding:3px 3px 9px;scrollbar-width:thin}.skillcategories button{white-space:nowrap;flex-shrink:0}
 .desk{grid-template-columns:minmax(0,1fr);gap:18px}.skillindex{max-height:310px;overflow:auto;border:0;padding:4px;scrollbar-width:thin}.skillchoice{min-height:90px;padding:14px}
 .skilldetail{position:static;padding:24px}.skilldetail h2{font-size:30px}.downloadbuttons .btn{width:100%}
}
@media(max-width:360px){.navin{gap:8px}.mobile-library-link{padding:8px;font-size:11px}.navin .wordmark{font-size:29px}.skilldetail{padding:20px}}

/* Motion direction inspired by TypeUI tab reveals, grid rises and card feedback.
   Content and controls remain available throughout; reduced motion is immediate. */
.skillcategories button,.skillchoice,.downloadbuttons .btn,.toolbox-controls input{transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease,box-shadow 180ms ease,transform 180ms ease}
.skillchoice .skill-arrow{transition:transform 200ms ease}
.skillchoice:active,.skillcategories button:active,.downloadbuttons .btn:active{transform:translateY(1px)}
.toolbox-controls input:focus{border-color:var(--ink);box-shadow:0 0 0 4px #19324712}
@media(prefers-reduced-motion:no-preference){
 .skillindex .skillchoice{animation:toolbox-card-in 240ms cubic-bezier(.22,1,.36,1) both}
 .skillindex .skillchoice:nth-child(2){animation-delay:25ms}
 .skillindex .skillchoice:nth-child(3){animation-delay:50ms}
 .skillindex .skillchoice:nth-child(4){animation-delay:75ms}
 .skillindex .skillchoice:nth-child(n+5){animation-delay:100ms}
 .skilldetail>*{animation:toolbox-detail-in 260ms cubic-bezier(.22,1,.36,1) both}
 .skilldetail>.downloadbuttons{animation-delay:35ms}
 .skilldetail>.libnote{animation-delay:55ms}
 .skilldetail>.usage{animation-delay:75ms}
 .skillchoice[aria-pressed=true]:before{animation:toolbox-marker-in 200ms ease-out both}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .skillchoice:hover{box-shadow:0 4px 12px #1932470c}
 .skillchoice:hover .skill-arrow{transform:translate(2px,-2px)}
 .downloadbuttons .btn:hover{transform:translateY(-2px);box-shadow:0 4px 10px #19324714}
 .skillcategories button:hover{border-color:var(--ink)}
}
@keyframes toolbox-card-in{from{opacity:.3;translate:0 7px}to{opacity:1;translate:0 0}}
@keyframes toolbox-detail-in{from{opacity:.2;translate:8px 3px}to{opacity:1;translate:0 0}}
@keyframes toolbox-marker-in{from{scale:1 .35}to{scale:1 1}}
@media(prefers-reduced-motion:reduce){
 .skillcategories button,.skillchoice,.skillchoice .skill-arrow,.downloadbuttons .btn,.toolbox-controls input{transition:none}
 .skilldetail>*,.skillindex .skillchoice,.skillchoice:before{animation:none}
}
.nav-signout{font:inherit;font-size:13px;color:inherit;background:none;border:0;padding:10px 0;cursor:pointer;text-align:left;min-height:44px}.nav-signout:hover{text-decoration:underline}

.skip-link{position:fixed;top:8px;left:12px;z-index:100;background:#193247;color:white;padding:12px 18px;transform:translateY(-160%)}.skip-link:focus{transform:none}.back-to-skills{display:none}.skill-requirements{background:#f5f8fb;border-radius:6px;padding:16px;margin-top:18px}.skill-requirements p{font-size:13px!important;margin:8px 0}.skill-overview-link{display:inline-block;padding:10px 0;min-height:44px}.download-feedback{padding:14px;background:#edf4f9;border-radius:6px}.skill-public{max-width:850px;padding-top:40px;padding-bottom:48px}.skill-public h1{font-size:clamp(32px,5vw,48px)}.skill-public h2{font-size:25px;margin-top:30px}.skill-public li{margin:10px 0}.skill-public .btn{margin:18px 0}.skill-public .breadcrumbs{font-size:14px;margin-bottom:25px}
@media(max-width:800px){.back-to-skills{display:block;border:0;background:none;color:var(--ink);padding:0 0 14px;min-height:44px;text-decoration:underline;cursor:pointer;font-size:14px}.homehero h1{font-size:clamp(40px,12vw,58px)}.skillcategories{flex-wrap:wrap;overflow:visible}.skillcategories button{white-space:normal}.skilldetail{overflow-wrap:anywhere}}


