/* Portfolio usability edition. Core project evidence and source files are unchanged. */
html{scroll-padding-top:6rem}a,button,input,select,summary,[tabindex]{scroll-margin-top:1rem}
.top{gap:20px;padding:19px 0;position:relative;z-index:30}.brand{white-space:normal}.brand span{color:var(--muted);font-weight:400}.header-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.portfolio-label{font-size:12px;letter-spacing:.035em;color:var(--muted);border:1px solid var(--line);padding:3px 8px}.all-projects{font-size:14px;font-weight:650;text-decoration:none}.project-switch{margin:0;position:relative}.project-switch summary{font-size:14px;list-style:none;min-height:40px;display:flex;align-items:center;gap:12px;border:1px solid #9cab9d;padding:7px 12px;background:#fff}.project-switch summary::-webkit-details-marker{display:none}.project-switch summary:after{content:'⌄';font-size:18px}.project-switch[open] summary{background:#e9efe5}.top .project-switch nav{position:absolute;right:0;top:calc(100% + 6px);display:grid;gap:0;min-width:280px;width:max-content;max-width:min(360px,86vw);padding:6px;background:white;border:1px solid var(--line);box-shadow:0 12px 30px #17382e20}.top .project-switch nav a{display:block;padding:10px 12px;line-height:1.4;font-size:14px;text-decoration:none;border-left:3px solid transparent}.top .project-switch nav a:hover{background:#f0f4ed}.top .project-switch nav a[aria-current=page]{border-left-color:var(--green);background:#e9efe5}.home-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:7%;padding:46px 0 34px;align-items:end}.home-intro .eyebrow{margin-bottom:12px}.home-intro h1{font-size:clamp(2.1rem,4.1vw,3.65rem);line-height:1.12;letter-spacing:-.045em}.home-intro>p{font-size:18px;line-height:1.65;color:var(--muted);max-width:470px}.project-browser{padding:28px 0 48px;border-top:1px solid var(--line);scroll-margin-top:20px}.browser-heading{display:flex;align-items:baseline;gap:20px;justify-content:space-between}.browser-heading h2{font-size:1.35rem;letter-spacing:-.02em}.browser-heading p{font-size:14px;color:var(--muted);white-space:nowrap}.focus-options{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 10px}.focus-options button{min-height:44px;border:1px solid var(--line);padding:8px 12px;font-size:14px;background:#fff}.focus-options button span{margin-left:9px;font-size:12px;opacity:.8}.focus-options button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:white}.browse-hint{font-size:14px;color:var(--muted);margin:10px 0 22px;max-width:820px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.project-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line);padding:26px 28px 24px;transition:border-color .15s,box-shadow .15s}.project-card:hover{border-color:#9cab9d;box-shadow:0 3px 12px #17382e0a}.card-kicker{display:flex;gap:13px;font-size:12px;color:var(--muted);margin-bottom:16px}.card-kicker span:first-child{color:var(--green);font-weight:650}.project-card h2{font-size:1.65rem;line-height:1.16;letter-spacing:-.025em;max-width:480px}.project-card h2 a{color:var(--ink);text-decoration:none}.project-card h2 a:hover{text-decoration:underline}.project-card>p{color:var(--muted);font-size:16px;line-height:1.6;margin-top:12px}.project-card .tags{margin:16px 0 0}.project-card .tag{font-size:12px;padding:3px 8px;background:#f5f7f2}.project-card .package-note{font-size:13px;line-height:1.55;border-top:1px solid var(--line);padding-top:15px;margin-top:20px;margin-bottom:0}.project-card .actions{margin-top:auto;padding-top:20px;align-items:center;gap:18px}.project-card .button{font-size:14px;min-height:43px;padding:8px 14px}.file-link{font-size:14px;font-weight:600;display:inline-flex;gap:10px;align-items:center;min-height:43px;text-decoration:none}.file-link:hover{text-decoration:underline}
.hero.compact{padding:28px 0 26px;gap:4vw;align-items:center;grid-template-columns:1.2fr 1fr}.hero.compact h1{font-size:clamp(2rem,3.5vw,3rem);line-height:1.14}.hero.compact .eyebrow{font-size:12px;margin-bottom:10px}.hero.compact .intro{font-size:16px;line-height:1.6;padding-left:22px}.hero.compact .tags{margin-top:12px}.hero.compact .tag{font-size:12px;padding:3px 8px}.section-nav{position:sticky;top:0;z-index:15;background:var(--paper);gap:8px 22px;padding:10px 0;box-shadow:0 1px 0 #17382e08}.section-nav a{display:flex;align-items:center;min-height:36px;border-bottom:2px solid transparent;padding:3px 0}.section-nav a[aria-current=location]{border-bottom-color:var(--green);color:var(--ink)}.section{padding:36px 0;scroll-margin-top:90px}.section:focus{outline:none}.section-head{margin-bottom:18px;gap:26px}.section-head h2{font-size:clamp(1.55rem,2.5vw,2rem);line-height:1.2}.section-head p{font-size:15px;max-width:530px}.first-action{font-size:14px;color:var(--muted);margin:14px 0 10px;line-height:1.55;max-width:850px}.first-action strong{color:var(--ink);font-weight:650;margin-right:9px}.controls{margin:12px 0 14px;gap:12px}.controls select,.controls button{font-size:15px}.control label{font-size:13px}.controls[aria-busy=true]{opacity:.65}.controls button:disabled,select:disabled,input:disabled{cursor:wait}.boundary{font-size:14px;margin:16px 0;padding:12px 15px}.boundary:empty{display:none}.fixed-scope{font-size:13px;line-height:1.55;padding:9px 12px;margin:8px 0 16px;background:#e9efe5;border-left:2px solid var(--green);color:var(--ink)}.metrics{margin:18px 0}.metric{padding:18px 20px}.metric strong{font-size:clamp(1.8rem,2.7vw,2.35rem)}.metric span{font-size:13px;line-height:1.55}.panel{padding:22px}.panel h3{font-size:1.15rem;line-height:1.3}.panel>p{font-size:15px;line-height:1.65}.chart{overflow:auto;max-width:100%;margin-top:18px}.chart svg{min-width:500px}.chart svg text,.chart svg .label{font-size:16px}.table-wrap{margin-top:18px}table{font-size:14px;line-height:1.55}th,td{padding:11px 10px}thead th{position:sticky;top:0}.download-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-block:1px solid var(--line);padding:19px 0;margin:0 0 24px}.download-guide strong{font-size:13px;font-weight:650}.download-guide p{font-size:14px;color:var(--muted);line-height:1.6;margin-top:6px}.download .file-size{display:block;font-size:12px;color:var(--muted);margin-top:9px}.download .note{font-size:13px}.threshold-range{display:flex;gap:12px;align-items:center;min-height:46px;background:#fff;border:1px solid #7b8d7e;border-radius:3px;padding:8px 12px;min-width:260px}.threshold-range input{width:190px;min-width:0;accent-color:var(--green);cursor:pointer;flex:1}.threshold-range output{font-size:16px;font-variant-numeric:tabular-nums;min-width:3em;text-align:right}.threshold-exact input{min-height:46px;width:7rem;max-width:100%;padding:7px 10px;border:1px solid #7b8d7e;border-radius:3px;font-size:16px}.data-error button{margin-left:12px;font-size:14px;min-height:40px}.foot{font-size:13px}
@media(min-width:901px){.hero.compact>div:first-child{max-width:690px}.section-head h2{max-width:50%}}
@media(max-width:900px){.top{align-items:center}.header-actions{gap:10px 16px}.portfolio-label{display:none}.home-intro{grid-template-columns:1fr;gap:20px;padding:32px 0 26px}.home-intro>p{max-width:690px;font-size:16px}.hero.compact{grid-template-columns:1fr;gap:16px;padding:24px 0}.hero.compact .intro{max-width:100%;border-left:0;padding-left:0}.hero.compact .intro p{max-width:760px}.hero.compact h1{font-size:2.3rem}.section-head{display:block}.section-head p{margin-top:10px}.project-card{padding:22px}.download-guide{grid-template-columns:1fr;gap:15px}.threshold-range{min-width:0}.two{gap:20px}}
@media(max-width:600px){.top{display:flex;align-items:start;flex-wrap:wrap;padding:16px 0;gap:12px}.header-actions{width:100%;justify-content:space-between}.brand{font-size:16px}.top .project-switch nav{margin:0;max-width:90vw}.home-intro h1{font-size:2.15rem}.browser-heading{display:block}.browser-heading p{margin-top:9px}.focus-options{gap:7px}.focus-options button{font-size:13px;padding:8px 10px}.project-grid{grid-template-columns:1fr;gap:15px}.project-card{padding:22px 20px}.project-card h2{font-size:1.55rem}.project-card .actions .button{width:auto}.project-card .actions{gap:14px}.card-kicker{margin-bottom:12px}.section-nav{gap:4px 16px;font-size:13px;padding:7px 0}.section-nav a{min-height:34px}.section{scroll-margin-top:120px;padding:28px 0}.hero.compact h1{font-size:2.1rem}.hero.compact .intro{font-size:15px}.section-head h2{font-size:1.6rem}.panel{padding:18px}.metrics{grid-template-columns:1fr}.metric{padding:15px 17px}.metric strong{font-size:1.85rem}.threshold-range{width:100%}.threshold-exact input{width:100%}.controls .control{width:100%}.data-error button{display:block;margin:12px 0 0}.download-guide{margin-bottom:18px}.foot{padding-bottom:30px}}
@media(prefers-reduced-motion:reduce){.project-card{transition:none}}
@media print{.header-actions,.focus-options,.section-nav,.first-action{display:none!important}.project-grid{display:block}.project-card{break-inside:avoid;margin-bottom:20px}.chart svg{min-width:0}.download-guide{grid-template-columns:repeat(3,1fr)}}
