.pp-curated .pp-periodic-shell{margin-top:42px}.pp-curated-hint,.pp-curated-note{font-family:"Geist Mono",monospace;font-size:12px;color:var(--pp-muted);line-height:1.7}.pp-curated-note{margin:28px 0 20px;max-width:760px}.pp-compound:focus-visible{outline:3px solid var(--pp-accent);outline-offset:4px}.pp-curated .pp-element-name{min-height:38px;overflow-wrap:anywhere}.pp-curated .pp-element-family{margin-top:8px}.pp-vial-hover[hidden]{display:none}.pp-vial-hover{position:fixed;z-index:1000;width:210px;pointer-events:none;background:var(--pp-panel);color:var(--pp-ink);border:1px solid var(--pp-accent);padding:10px;box-shadow:0 16px 48px #0005}.pp-vial-hover img{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:#eef5fa}.pp-vial-hover strong,.pp-vial-hover span{display:block;font-size:13px;line-height:1.4;margin-top:7px}.pp-vial-hover span{font-family:"Geist Mono",monospace;color:var(--pp-muted);font-size:11px}.pp-vial-dialog{position:fixed;inset:0;margin:auto;width:min(820px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;background:var(--pp-bg);color:var(--pp-ink);border:1px solid var(--pp-accent);padding:24px;font-family:"Geist",Arial,sans-serif}.pp-vial-dialog::backdrop{background:#030810ba;backdrop-filter:blur(5px)}.pp-vial-close{display:block;margin:0 0 20px auto;border:1px solid var(--pp-line);background:var(--pp-panel);color:var(--pp-ink);padding:10px 16px;cursor:pointer;font:inherit}.pp-vial-detail{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.pp-vial-detail img{width:100%;background:#eef5fa}.pp-vial-detail h2{font-weight:500;font-size:clamp(26px,4vw,40px);letter-spacing:-.04em;line-height:1.1;overflow-wrap:anywhere}.pp-vial-detail .pp-copy{font-size:15px}.pp-vial-close:focus-visible{outline:2px solid var(--pp-accent);outline-offset:3px}@media(max-width:600px){.pp-vial-detail{grid-template-columns:1fr;gap:16px}.pp-vial-detail img{max-width:260px;margin:auto}.pp-vial-dialog{padding:16px}.pp-vial-hover{display:none}.pp-curated .pp-element-name{min-height:42px}}@media(prefers-reduced-motion:reduce){.pp-curated .pp-element-tile{transition:none}}

.pp-vial-purchase{display:grid;gap:12px;margin:22px 0}.pp-vial-purchase label{font-family:"Geist Mono",monospace;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.pp-vial-purchase select{width:100%;padding:12px;border:1px solid var(--pp-line);background:var(--pp-panel);color:var(--pp-ink);font:inherit;border-radius:0}.pp-vial-purchase .pp-vial-add,.pp-vial-purchase .pp-vial-research{width:100%;justify-content:center}.pp-vial-add:disabled{opacity:.55;cursor:not-allowed}.pp-vial-purchase .pp-curated-note{margin:0}.pp-vial-purchase select:focus-visible{outline:2px solid var(--pp-accent);outline-offset:3px}.pp-vial-visual{position:relative;display:grid;place-items:center;min-height:300px;background:var(--pp-panel)}
.pp-vial-price{margin:0;font:600 1.25rem/1.2 "Geist Mono",monospace}.pp-supplier-testing{grid-column:1/-1;border-top:1px solid var(--pp-line);padding-top:20px}.pp-supplier-testing h3{margin:0 0 8px;font-size:1.3rem}.pp-supplier-notice{margin:0 0 15px;padding:12px;border:1px solid var(--pp-accent);font-size:.78rem;line-height:1.55}.pp-supplier-testing #pp-supplier-status{margin:0 0 14px;color:var(--pp-muted);font:600 .72rem/1.5 "Geist Mono",monospace}.pp-testing-panel{margin:12px 0;padding:14px;border:1px solid var(--pp-line);background:var(--pp-panel)}.pp-testing-panel h4{margin:0 0 5px;color:var(--pp-accent);font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}.pp-testing-panel>p{margin:0 0 12px;font-size:.77rem}.pp-testing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pp-testing-card{min-width:0;min-height:92px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px;border:1px solid var(--pp-line);background:var(--pp-bg);color:var(--pp-ink);text-align:left;overflow-wrap:anywhere}.pp-testing-card:is(button){cursor:pointer}.pp-testing-card:is(button):hover,.pp-testing-card:is(button):focus-visible{border-color:var(--pp-accent);outline:2px solid var(--pp-accent);outline-offset:1px}.pp-testing-card span{color:var(--pp-muted);font:600 .62rem/1.3 "Geist Mono",monospace;text-transform:uppercase}.pp-testing-card strong{font-size:.95rem;line-height:1.2}.pp-testing-card small{font-size:.68rem;line-height:1.3;color:var(--pp-muted)}.pp-testing-card.is-pending strong{color:var(--pp-accent)}.pp-testing-card.is-failed{border-color:#ca664f}.pp-supplier-source{display:inline-block;margin-top:8px;color:var(--pp-accent);font-size:.75rem}.pp-report-dialog{position:fixed;inset:0;margin:auto;width:min(800px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--pp-accent);background:var(--pp-bg);color:var(--pp-ink);overflow:auto}.pp-report-dialog::backdrop{background:#030810c9}.pp-report-head{display:flex;justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid var(--pp-line)}.pp-report-head .pp-kicker{margin:0 0 7px}.pp-report-head h2{margin:0;font-size:1.2rem}.pp-report-head p:last-child{margin:6px 0 0;color:var(--pp-muted);font-size:.76rem}.pp-report-close{align-self:flex-start;border:1px solid var(--pp-line);background:var(--pp-panel);color:var(--pp-ink);padding:6px 12px;font-size:1.3rem;cursor:pointer}.pp-report-stage{display:grid;place-items:center;padding:12px;min-height:160px}.pp-report-stage img{display:block;max-width:100%;max-height:65vh;object-fit:contain}.pp-report-stage iframe{display:block;width:100%;height:65vh;border:0;background:white}.pp-report-stage [hidden],.pp-report-actions [hidden]{display:none}.pp-report-actions{padding:12px 18px;border-top:1px solid var(--pp-line)}.pp-report-actions a{color:var(--pp-accent);font-size:.8rem}@media(max-width:600px){.pp-testing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-vial-dialog{max-height:calc(100dvh - 12px)}}

.pp-vial-detail { align-items:start; }
.pp-vial-detail .pp-kicker { margin-top:0; }
.pp-vial-visual { min-height:0; }
.pp-vial-visual img { display:block; aspect-ratio:1; object-fit:contain; }
.pp-vial-close { position:sticky; top:0; z-index:2; }
.pp-supplier-testing { min-width:0; }
