.pi-dropoff{justify-items:center;display:grid}.pi-tool{max-width:1120px;margin:2rem auto}.pi-grid{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:start;gap:1.2rem;display:grid}.pi-source,.pi-result{border:1px solid var(--line);background:var(--surface-1);min-width:0;overflow:hidden}.pi-result{border-radius:18px}.pi-source{padding:1rem}.pi-source header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.pi-source header div{gap:.15rem;min-width:0;display:grid}.pi-source header strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pi-source header span{color:var(--ink-2);font-size:.82rem}.pi-source header button,.pi-swatches button,.pi-actions button,.pi-size button,.pi-advice button{border:1px solid var(--line);background:var(--surface-0);min-height:44px;color:var(--ink-0);cursor:pointer;font:inherit;border-radius:9px;padding:.55rem .75rem}.pi-source img{background:repeating-conic-gradient(var(--surface-2) 0 25%,var(--surface-0) 0 50%) 50%/18px 18px;max-width:100%;max-height:520px;margin-inline:auto;display:block}.pi-size{align-items:center;gap:.45rem;margin-top:1rem;display:flex}.pi-size>span{margin-right:auto;font-weight:700}.pi-size button{min-width:44px}.pi-result{padding:1.2rem}.pi-stub{letter-spacing:.08em;color:var(--ink-2);justify-content:space-between;font:700 .68rem/1.2 monospace;display:flex}.pi-result h2{margin:.8rem 0 1rem}.pi-swatches{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.pi-swatches li{border:1px solid var(--line);border-radius:12px;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.55rem;display:grid}.pi-chip{background:var(--swatch);width:52px;height:44px;box-shadow:inset 0 0 0 1px var(--line-firm);border-radius:8px}.pi-swatches div{min-width:0;display:grid}.pi-swatches strong{font:700 .95rem/1.2 monospace}.pi-swatches span{color:var(--ink-2);font-size:.76rem}.pi-working{background:linear-gradient(90deg,var(--surface-0),var(--line),var(--surface-0));background-size:220% 100%;border-radius:12px;height:180px;animation:1.4s linear infinite pi-scan}.pi-empty,.pi-boundary,.pi-status,.pi-error{font-size:.82rem;line-height:1.5}.pi-boundary{border-top:1px solid var(--line);color:var(--ink-2);padding-top:1rem}.pi-receipt{gap:.35rem;margin:1rem 0;display:grid}.pi-receipt div{grid-template-columns:110px minmax(0,1fr);gap:.7rem;display:grid}.pi-receipt dt{color:var(--ink-2);font-size:.75rem}.pi-receipt dd{margin:0;font-size:.78rem}.pi-actions{flex-wrap:wrap;gap:.5rem;display:flex}.pi-actions button{flex:1}.pi-advice{border:1px solid var(--line);text-align:left;border-radius:10px;margin:1rem 0 0;padding:.8rem}.pi-advice p{color:var(--ink-0);margin:0 0 .6rem}.pi-advice.extreme{border-color:var(--error)}.pi-status{min-height:1.25rem;color:var(--ink-2)}.pi-error{min-height:1.25rem;color:var(--error)}.pi-empty{background:var(--surface-0);border-radius:10px;padding:1rem}@keyframes pi-scan{to{background-position:-220% 0}}@media (width<=760px){.pi-grid{grid-template-columns:1fr}.pi-source header{align-items:center}.pi-result{padding:1rem}.pi-size{flex-wrap:wrap}.pi-size>span{width:100%}.pi-swatches li{grid-template-columns:44px minmax(0,1fr) auto}.pi-chip{width:44px}.pi-actions button{flex-basis:100%}}.pi-strip{height:44px;box-shadow:inset 0 0 0 1px var(--line-firm);border-radius:10px;margin:0 0 1rem;display:flex;overflow:hidden}.pi-strip span{background:var(--swatch);flex-basis:0;min-width:2px}.pi-copy{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.pi-copy button{border:1px solid var(--brass-lo);background:var(--brass-wash);min-height:44px;color:var(--ink-0);cursor:pointer;font:inherit;border-radius:9px;flex:1;padding:.55rem .75rem;font-weight:650}.pi-replace-error{border:1px solid var(--error);color:var(--error);border-radius:9px;margin:0 0 .8rem;padding:.6rem .75rem;font-size:.82rem;line-height:1.5}.pi-method{border-top:1px solid var(--line);margin-top:.5rem;padding-top:.75rem}.pi-method summary{cursor:pointer;align-items:center;min-height:44px;font-weight:650;display:flex}.pi-method .pi-boundary{border-top:0;padding-top:0}@media (width<=760px){.pi-copy button{flex-basis:100%}}.pi-method-facts{gap:.35rem;margin:.75rem 0;display:grid}.pi-method-facts div{grid-template-columns:110px minmax(0,1fr);gap:.7rem;display:grid}.pi-method-facts dt{color:var(--ink-2);font-size:.75rem}.pi-method-facts dd{margin:0;font-size:.78rem}
