/* Compact source actions within the shared SHPanel project card. */
.sh-panel .source-rows-card{--card-line:rgba(255,255,255,.095);position:relative;margin:0 0 18px;padding:0;border:1px solid var(--card-line);border-radius:4px;background:rgba(255,255,255,.012);text-align:left;white-space:normal;-webkit-user-select:text;user-select:text;color:var(--sh-text)}
.sh-panel .source-intro{padding:14px 14px 16px}
.sh-panel .source-intro h1{margin:0;font:500 17px/1.35 var(--sh-font);letter-spacing:-.3px;text-transform:none;color:rgba(255,255,255,.9);overflow-wrap:anywhere}
.sh-panel .source-description{margin:9px 0 0;font:400 12px/1.7 var(--sh-font);letter-spacing:0;color:rgba(255,255,255,.62)}
.sh-panel .source-implementation{margin:0;padding:14px;border-top:1px solid var(--card-line);font:400 14px/1.55 var(--sh-font);letter-spacing:0;text-transform:none;color:rgba(255,255,255,.65);overflow-wrap:anywhere}
.sh-panel .source-implementation a{color:rgba(255,255,255,.9);text-decoration:underline;text-underline-offset:3px}
.sh-panel .source-implementation a:hover{color:#fff}
.sh-panel .source-implementation a:focus-visible{outline:1px solid #ddd;outline-offset:3px}
.sh-panel .source-actions{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;border-top:1px solid var(--card-line)}
.sh-panel .source-github,.sh-panel .source-copy-button,.sh-panel .source-menu-toggle,.sh-panel .source-menu-item{display:flex;align-items:center;gap:7px;min-height:36px;box-sizing:border-box;margin:0;border:0;border-radius:0;background:none;color:rgba(255,255,255,.8);font:500 11px/1.45 var(--sh-font);letter-spacing:0;text-transform:none;text-align:left;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background 120ms,color 120ms}
.sh-panel .source-github{padding:0 2px;color:rgba(255,255,255,.64)}
.sh-panel .source-actions svg{width:14px;height:14px;flex:0 0 14px;fill:none}
.sh-panel .source-split{display:flex;min-width:0;border:1px solid #ffffff20;border-radius:6px;background:#ffffff08;overflow:hidden}
.sh-panel .source-copy-button{justify-content:center;min-width:116px;padding:8px 10px;color:rgba(255,255,255,.88)}
.sh-panel .source-menu-toggle{justify-content:center;width:36px;height:36px;min-width:36px;flex:0 0 36px;gap:0;border-left:1px solid #ffffff20;padding:0 11px}
.sh-panel .source-menu-toggle svg{width:12px;height:12px;flex-basis:12px}
.sh-panel .source-action-label{white-space:nowrap}
.sh-panel .source-github .source-action-detail,.sh-panel .source-copy-button .source-action-detail,.sh-panel .source-menu-toggle .source-action-label,.sh-panel .source-menu-toggle .source-action-detail{display:none}
.sh-panel .source-menu-toggle[aria-expanded=true]{background:#ffffff12;color:#fff}
.sh-panel .source-menu{position:absolute;z-index:12;top:calc(100% - 4px);left:10px;right:10px;max-height:min(280px,50dvh);overflow:auto;padding:5px;border:1px solid #ffffff22;border-radius:8px;background:#171717;box-shadow:0 12px 28px #0009}
.sh-panel .source-menu[hidden],.sh-panel .prompt-copy-fallback[hidden]{display:none}
.sh-panel .source-menu-item{display:grid;grid-template-columns:14px minmax(0,1fr);gap:3px 9px;width:100%;padding:10px 9px;border-radius:4px}
.sh-panel .source-menu-item svg{grid-row:1 / 3;align-self:start;margin-top:2px;color:#a8a8a8}
.sh-panel .source-menu-item .source-action-label{white-space:normal}
.sh-panel .source-menu-item .source-action-detail{grid-column:2;font:400 10px/1.5 var(--sh-font);color:#969696;overflow-wrap:anywhere}
.sh-panel .source-github:not(:disabled):hover{color:#fff}
.sh-panel .source-copy-button:not(:disabled):hover,.sh-panel .source-menu-toggle:hover,.sh-panel .source-menu-item:not(:disabled):hover{background:#ffffff10;color:#fff}
.sh-panel .source-actions :is(a,button):focus-visible{outline:1px solid #ffffffb3;outline-offset:-3px;background:#ffffff0d}
.sh-panel .source-actions :disabled{color:#ffffff40;cursor:default}
.sh-panel .source-menu-item:disabled .source-action-detail,.sh-panel .source-menu-item:disabled svg{color:#ffffff35}
.sh-panel .source-copy-button[aria-busy=true]{cursor:wait}
.sh-panel .source-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.sh-panel .prompt-copy-fallback{padding:12px 14px 14px;border-top:1px solid var(--card-line);font:10px/1.6 var(--sh-font);color:#aaa}
.sh-panel .prompt-copy-fallback label{display:block;margin:0 0 7px}
.sh-panel .prompt-copy-fallback textarea{display:block;width:100%;max-width:100%;min-height:130px;box-sizing:border-box;resize:vertical;padding:9px;border:1px solid #ffffff25;border-radius:3px;background:#080808;color:#bbb;font:10px/1.6 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}
.sh-panel .prompt-copy-fallback textarea:focus-visible{outline:1px solid #ddd;outline-offset:2px}
.sh-panel[data-project-card] .entry-heading,.sh-panel[data-project-card] .panel-title,.sh-panel[data-project-card] .panel-subtitle,.sh-panel[data-project-card]>.panel-intro,.sh-panel[data-project-card] .panel-source{display:none}
.sh-panel[data-project-card] .panel-heading{display:none}
.sh-panel [data-labs-advanced][hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){.sh-panel .source-actions :is(a,button){transition:none}}
@media(pointer:coarse){.sh-panel .source-actions :is(a,button){min-height:44px}.sh-panel .source-menu-toggle{width:44px;height:44px;min-width:44px;flex-basis:44px;padding-inline:15px}.sh-panel .source-copy-button{min-width:106px;padding-inline:8px}}

.sh-panel .source-availability{min-width:0;color:rgba(255,255,255,.5);font:400 10px/1.5 var(--sh-font);overflow-wrap:anywhere}
