.portfolio-library{margin:0 var(--pad) 90px;border-top:1px solid var(--line);padding-top:45px;scroll-margin-top:110px}
.portfolio-intro{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:32px}
.portfolio-intro .eyebrow{color:var(--accent);font-size:9px;margin-bottom:13px}
.portfolio-intro h3{font-family:var(--display);font-size:clamp(34px,4vw,58px);font-weight:600;text-transform:uppercase;letter-spacing:-.025em;line-height:1.1}
.portfolio-intro>p{max-width:390px;color:var(--muted);font-size:12px;line-height:1.9}
.portfolio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;border-block:1px solid var(--line);padding:17px 0}
.portfolio-engineers{display:flex;gap:7px;flex-wrap:wrap}
.portfolio-engineers button{background:transparent;border:1px solid transparent;padding:9px 14px;min-height:42px;font-size:12px;color:var(--muted);transition:color .2s,border-color .2s,background .2s}
.portfolio-engineers button:hover{color:var(--text);border-color:var(--line)}
.portfolio-engineers button[aria-pressed=true]{background:var(--accent);color:var(--black)}
.portfolio-selects{display:flex;gap:18px;align-items:center}
.portfolio-selects label{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.8px}
.portfolio-selects select{max-width:210px;min-height:42px;background:var(--bg);border:1px solid var(--line);color:var(--text);padding:8px 27px 8px 12px;font-size:11px;letter-spacing:0;text-transform:none;cursor:pointer;color-scheme:dark}
.portfolio-selects select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.portfolio-types{min-width:0;margin:23px 0 3px;padding:0;border:0}
.portfolio-types legend{padding:0;margin-bottom:10px;color:var(--muted);font-size:9px;letter-spacing:1px;text-transform:uppercase}
.portfolio-type-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,900px);gap:4px;padding:4px;border:1px solid var(--line);background:#ffffff03}
.portfolio-type-option{position:relative;display:block;min-width:0;margin:0;font-weight:400;cursor:pointer}
.portfolio-type-option input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.portfolio-type-option>span{display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:10px 18px;margin:0;border:1px solid transparent;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:0;line-height:1.5;text-align:center;overflow-wrap:anywhere;transition:background .2s,color .2s,border-color .2s}
.portfolio-type-option:hover input:not(:disabled)+span{color:var(--text);border-color:var(--line)}
.portfolio-type-option input:checked+span{background:var(--accent);color:var(--black);border-color:var(--accent)}
.portfolio-type-option input:focus-visible+span{outline:2px solid var(--text);outline-offset:2px}
.portfolio-type-option input:disabled+span{opacity:.35;cursor:default}
.portfolio-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 0;color:var(--muted);font-size:10px;letter-spacing:.3px}
.portfolio-favorite-filter{display:flex;align-items:center;gap:9px;background:none;color:var(--muted);font-size:11px;min-height:36px;padding:3px 0}
.portfolio-favorite-filter svg{width:15px;height:15px}
.portfolio-favorite-filter span{color:var(--text);margin-left:3px}
.portfolio-favorite-filter[aria-pressed=true]{color:var(--accent)}
.portfolio-saved{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:18px}
.portfolio-saved>span{display:flex;align-items:center;gap:7px;min-width:0;max-width:100%;padding:2px 4px 2px 12px;border:1px solid #ff68394d;background:#ff683909;color:var(--text);font-size:10px}
.portfolio-saved>span>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:340px}
.portfolio-saved button{width:32px;height:32px;padding:8px;flex-shrink:0;background:none;color:var(--accent)}
.portfolio-saved button svg{width:14px;height:14px}
.portfolio-results{min-height:492px}
.portfolio-library.is-engineer-filtered .portfolio-results{min-height:0}
.portfolio-status{border-left:2px solid var(--accent);background:#ff68390a;padding:15px 20px;margin:6px 0 20px;color:var(--muted);font-size:12px;line-height:1.8}
.portfolio-track{display:grid;grid-template-columns:25px 42px minmax(0,1fr) 145px 44px 42px 36px;align-items:center;gap:16px;min-height:82px;border-top:1px solid var(--line);padding:13px 10px;transition:background .2s}
.portfolio-track:last-child{border-bottom:1px solid var(--line)}
.portfolio-track:hover{background:#ffffff04}
.portfolio-track.is-current{background:#ff68390b}
.portfolio-track-number{font-size:9px;color:var(--muted);font-family:ui-monospace,monospace}
.portfolio-track-play{width:40px;height:40px;display:grid;place-items:center;background:var(--panel2);border:1px solid var(--line);border-radius:50%;color:var(--text);transition:background .2s,color .2s}
.portfolio-track-play svg{width:18px;height:18px}
.portfolio-track-play:hover,.portfolio-track.is-current .portfolio-track-play{background:var(--accent);color:var(--black);border-color:var(--accent)}
.portfolio-track-copy{min-width:0;display:flex;flex-direction:column;gap:5px}
.portfolio-track-copy strong{font-size:13px;font-weight:600;overflow-wrap:anywhere;line-height:1.5}
.portfolio-track-copy>span{font-size:10px;color:var(--muted);overflow-wrap:anywhere}
.portfolio-track-copy i{font-style:normal;opacity:.4;padding:0 6px}
.portfolio-track-genre{font-size:10px;color:var(--muted);overflow-wrap:anywhere}
.portfolio-track-copy .portfolio-track-mobile-genre{display:none}
.portfolio-genre-estimate{display:inline-block;margin-left:3px;font-size:13px;line-height:1;color:var(--accent);cursor:help;white-space:nowrap}
.portfolio-track-duration{font:10px ui-monospace,monospace;color:var(--muted);text-align:right}
.portfolio-track-save,.portfolio-track-source{display:grid;place-items:center;background:transparent;color:var(--muted);width:40px;height:40px}
.portfolio-track-save svg{width:17px;height:17px}
.portfolio-track-source svg{width:14px;height:14px}
.portfolio-track-save:hover,.portfolio-track-source:hover{color:var(--text)}
.portfolio-track-save[aria-pressed=true],.portfolio-player-favorite[aria-pressed=true]{color:var(--accent)}
.portfolio-track-save[aria-pressed=true] svg,.portfolio-player-favorite[aria-pressed=true] svg{fill:#ff683930}
.portfolio-more{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:0 20px;min-height:67px}
.portfolio-more.is-unpaginated{min-height:0}
.portfolio-more>span{color:var(--muted);font-size:10px;margin-top:25px}
.portfolio-more button{margin-top:25px;background:none;border-bottom:1px solid var(--accent);color:var(--text);padding:10px 0;min-height:42px;font-size:11px}
.portfolio-more .portfolio-show-all{border-bottom-color:#ffffff50;color:var(--muted)}
.portfolio-more .portfolio-show-all:hover{color:var(--text);border-bottom-color:var(--accent)}
.portfolio-cloud{display:flex;align-items:baseline;gap:10px;margin-top:22px;color:var(--muted);font-size:10px;line-height:1.8}
.portfolio-cloud-dot{width:5px;height:5px;flex-shrink:0;background:var(--accent);border-radius:50%}
.portfolio-player{position:fixed;left:24px;right:24px;bottom:calc(var(--project-bar-height,0px) + 18px);z-index:65;display:grid;grid-template-columns:minmax(160px,1.15fr) auto minmax(150px,1fr) 95px 36px 36px;align-items:center;gap:22px;max-width:1200px;margin-inline:auto;padding:15px 20px;background:#20211df5;color:var(--text);border:1px solid #ffffff36;box-shadow:0 12px 42px #0006;border-radius:3px;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
.portfolio-player-track{display:flex;gap:13px;align-items:center;min-width:0}
.portfolio-player-index{position:relative;display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border:1px solid var(--line);font:15px var(--display);color:var(--accent);overflow:hidden}
.portfolio-player-index span{position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left}
.portfolio-player.is-playing .portfolio-player-index span{transform:scaleX(1)}
.portfolio-player-track>div{min-width:0;display:flex;flex-direction:column;gap:4px}
.portfolio-player-track strong{font-size:12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.portfolio-player-track>div>span{font-size:10px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.portfolio-player-controls{display:flex;align-items:center;gap:7px}
.portfolio-player button{display:grid;place-items:center;flex-shrink:0;background:none;width:36px;height:36px;color:var(--text);padding:8px}
.portfolio-player button svg{width:20px;height:20px}
.portfolio-player .portfolio-player-play{width:42px;height:42px;border-radius:50%;color:var(--black);background:var(--accent);position:relative}
.portfolio-player .portfolio-player-play:hover{background:#ff875f}
.portfolio-player-play.is-loading::after{content:"";position:absolute;inset:-4px;border:1px solid transparent;border-top-color:var(--accent);border-right-color:var(--accent);border-radius:50%;animation:portfolio-loading 1s linear infinite}
@keyframes portfolio-loading{to{transform:rotate(360deg)}}
.portfolio-player-times{display:flex;justify-content:space-between;font:9px ui-monospace,monospace;color:var(--muted);margin-bottom:1px}
.portfolio-player input[type=range]{display:block;-webkit-appearance:none;appearance:none;width:100%;height:18px;margin:0;background:transparent;cursor:pointer;accent-color:var(--accent)}
.portfolio-player input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.portfolio-player input[type=range]::-webkit-slider-runnable-track{height:2px;background:linear-gradient(to right,var(--accent) var(--played,80%),#ffffff35 var(--played,80%));border-radius:2px}
.portfolio-player input[type=range]::-moz-range-track{height:2px;background:#ffffff35;border-radius:2px}
.portfolio-player input[type=range]::-moz-range-progress{height:2px;background:var(--accent)}
.portfolio-player input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:9px;height:9px;background:var(--accent);border:0;border-radius:50%;margin-top:-3.5px}
.portfolio-player input[type=range]::-moz-range-thumb{width:9px;height:9px;background:var(--accent);border:0;border-radius:50%}
.portfolio-player input[type=range]:disabled{opacity:.35;cursor:default}
.portfolio-player-volume{display:flex;align-items:center;gap:10px}
.portfolio-player-volume>svg{width:16px;height:16px;flex-shrink:0;color:var(--muted)}
.portfolio-player .portfolio-player-close{color:var(--muted)}
.portfolio-player .portfolio-player-close:hover{color:var(--text)}
.portfolio-player-error{grid-column:1/-1;font-size:11px;color:var(--muted);padding-top:9px;border-top:1px solid var(--line);line-height:1.8}
.portfolio-player-error a{display:inline-flex;align-items:center;gap:7px;color:var(--accent);text-decoration:underline;text-underline-offset:3px;margin-left:5px}
.portfolio-player-error svg{width:12px;height:12px}
@media(max-width:1100px){.portfolio-toolbar{align-items:flex-start;flex-direction:column;gap:14px}.portfolio-player{gap:15px;grid-template-columns:minmax(140px,1fr) auto minmax(100px,1fr) 36px 36px}.portfolio-player-volume{display:none}.portfolio-track{grid-template-columns:22px 42px minmax(0,1fr) 110px 38px 38px 32px;gap:12px}}
@media(max-width:700px){.portfolio-library{margin-bottom:65px;padding-top:35px}.portfolio-intro{align-items:start;flex-direction:column;gap:18px;margin-bottom:25px}.portfolio-intro>p{max-width:440px}.portfolio-engineers{width:100%;gap:3px}.portfolio-engineers button{flex:1;padding-inline:8px;font-size:11px}.portfolio-selects{width:100%;gap:12px}.portfolio-selects label{width:50%;gap:7px;align-items:flex-start;flex-direction:column;font-size:9px}.portfolio-selects select{width:100%;max-width:none}.portfolio-meta{padding-block:12px}.portfolio-track{grid-template-columns:36px minmax(0,1fr) 36px 28px;gap:10px;padding:12px 0;min-height:78px}.portfolio-track-number,.portfolio-track-genre,.portfolio-track-duration{display:none}.portfolio-track-play{width:34px;height:34px}.portfolio-track-copy strong{font-size:12px}.portfolio-track-copy>span{font-size:9px}.portfolio-track-save,.portfolio-track-source{width:34px;min-height:42px}.portfolio-track-source{width:28px}.portfolio-cloud{font-size:9px}.portfolio-player{left:10px;right:10px;bottom:calc(var(--project-bar-height,0px) + 10px + env(safe-area-inset-bottom,0px));padding:12px 13px 8px;grid-template-columns:minmax(0,1fr) auto 28px 28px;gap:7px 10px}.portfolio-player-track{gap:9px}.portfolio-player-index{width:30px;height:34px;font-size:12px}.portfolio-player-track strong{font-size:10px}.portfolio-player-track>div>span{font-size:9px}.portfolio-player-controls{gap:4px}.portfolio-player .portfolio-player-play{width:36px;height:36px}.portfolio-player button{width:28px;height:34px;padding:5px}.portfolio-player button svg{width:18px;height:18px}.portfolio-player .portfolio-player-next{width:24px}.portfolio-player-timeline{grid-column:1/-1;grid-row:2}.portfolio-player-times{font-size:8px}.portfolio-player input[type=range]{height:16px}.portfolio-player-error{font-size:10px;margin-top:3px;padding-top:7px}.portfolio-player-favorite{grid-column:3;grid-row:1}.portfolio-player-close{grid-column:4;grid-row:1}}
@media(prefers-reduced-motion:reduce){.portfolio-engineers button,.portfolio-track,.portfolio-track-play{transition:none}.portfolio-player-play.is-loading::after{animation:none}}
@media(max-width:700px){.portfolio-results{min-height:468px}}
@media(max-width:700px){
  .portfolio-library .portfolio-cloud,.portfolio-library .portfolio-source-links{display:none}
  .portfolio-selects label{width:100%;max-width:330px;margin:0;flex-direction:row;align-items:center;gap:14px}
  .portfolio-selects select{flex:1;min-width:0}
  .portfolio-types{margin-top:18px}
  .portfolio-type-options{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .portfolio-type-option>span{min-height:48px;padding:9px 6px;font-size:9px}
  .portfolio-track-copy .portfolio-track-mobile-genre{display:block;font-size:9px;line-height:1.5}
  .portfolio-more{gap:0 18px}
}
@media(prefers-reduced-motion:reduce){.portfolio-type-option>span{transition:none}}
@media(max-width:360px){.portfolio-type-options{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-type-option:last-child{grid-column:1/-1}.portfolio-type-option>span{font-size:10px}}
