.ipmh{--ipmh-accent:#1e6fc4;--ipmh-card-bg:#fff;--ipmh-border:#dde1e7;--ipmh-text:#1a1a1a;--ipmh-muted:#6b7280;--ipmh-radius:8px;--ipmh-shadow:0 2px 8px rgba(0,0,0,.08);box-sizing:border-box;color:var(--ipmh-text);font-family:inherit;margin:0 auto;max-width:1200px;padding:2rem 1rem}.ipmh *,.ipmh :after,.ipmh :before{box-sizing:inherit}.ipmh-header{margin-bottom:2rem;text-align:center}.ipmh-title{font-size:2rem;font-weight:700;line-height:1.2;margin:0 0 .5rem}.ipmh-subtitle{color:var(--ipmh-muted);font-size:1rem;margin:0}.ipmh-state{color:var(--ipmh-muted);margin:2rem 0;text-align:center}.ipmh-state--error{color:#b91c1c}.ipmh-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}@media (max-width:900px){.ipmh-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.ipmh-grid{grid-template-columns:1fr}}.ipmh-card{background:var(--ipmh-card-bg);border:1px solid var(--ipmh-border);border-radius:var(--ipmh-radius);box-shadow:var(--ipmh-shadow);color:var(--ipmh-text);display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:box-shadow .15s ease,transform .15s ease}.ipmh-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.14);transform:translateY(-2px)}.ipmh-card-image{align-items:center;aspect-ratio:4/3;background:#f3f4f6;display:flex;justify-content:center;overflow:hidden;width:100%}.ipmh-card-image img{height:100%;object-fit:contain;width:100%}.ipmh-card-image--placeholder{border-bottom:1px solid var(--ipmh-border)}.ipmh-card-image--placeholder svg{opacity:.3}.ipmh-card-body{display:flex;flex:1;flex-direction:column;gap:.25rem;padding:1rem}.ipmh-card-model{font-size:1rem;font-weight:700;line-height:1.3;margin:0}.ipmh-card-type{color:var(--ipmh-muted);font-size:.875rem;margin:0}.ipmh-card-langs{display:flex;flex-wrap:wrap;gap:.3rem;list-style:none;margin:.5rem 0 0;padding:0}.ipmh-card-lang{background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;color:var(--ipmh-accent);font-size:.75rem;line-height:1.4;padding:.2rem .5rem}.ipmf{background:linear-gradient(135deg,#1a5fa8,#2b86de);border-radius:12px;box-sizing:border-box;color:#fff;margin-bottom:2.5rem;padding:3rem 2rem;text-align:center}.ipmf *,.ipmf :after,.ipmf :before{box-sizing:inherit}.ipmf-inner{margin:0 auto;max-width:560px}.ipmf-heading{color:#fff;font-size:1.875rem;font-weight:700;line-height:1.2;margin:0 0 .625rem}.ipmf-sub{font-size:1.0625rem;line-height:1.5;margin:0 0 1.875rem;opacity:.9}.ipmf-form{width:100%}.ipmf-row{display:flex;gap:.625rem}.ipmf-input{background:hsla(0,0%,100%,.14);border:2px solid hsla(0,0%,100%,.35);border-radius:8px;color:#fff;flex:1;font-family:inherit;font-size:1rem;min-width:0;padding:.875rem 1.125rem}.ipmf-input::placeholder{color:hsla(0,0%,100%,.62)}.ipmf-input:focus{background:hsla(0,0%,100%,.22);border-color:#fff;outline:none}.ipmf-btn{background:#fff;border:none;border-radius:8px;color:#1a5fa8;cursor:pointer;flex-shrink:0;font-family:inherit;font-size:1rem;font-weight:700;padding:.875rem 1.75rem;transition:background .15s ease;white-space:nowrap}.ipmf-btn:hover:not(:disabled){background:#dbeeff}.ipmf-btn:disabled{cursor:default;opacity:.7}.ipmf-btn:focus-visible{outline:3px solid hsla(0,0%,100%,.8);outline-offset:2px}.ipmf-outcome{background:hsla(0,0%,100%,.14);border:1px solid hsla(0,0%,100%,.3);border-radius:8px;color:#fff;font-size:.9375rem;line-height:1.55;margin-top:1.25rem;padding:.875rem 1.25rem}.ipmf-outcome--error{background:rgba(239,68,68,.2);border-color:rgba(239,68,68,.5)}.ipmf-picker-heading{font-size:.8125rem;font-weight:700;letter-spacing:.05em;margin:0 0 .75rem;opacity:.85;text-transform:uppercase}.ipmf-picker-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.ipmf-picker-link{background:hsla(0,0%,100%,.9);border-radius:6px;color:#1a5fa8;display:block;font-size:.9375rem;font-weight:600;padding:.625rem .875rem;text-decoration:none;transition:background .15s ease}.ipmf-picker-link:hover{background:#fff}@media (max-width:520px){.ipmf{padding:2rem 1.25rem}.ipmf-heading{font-size:1.375rem}.ipmf-sub{font-size:.9375rem;margin-bottom:1.375rem}.ipmf-row{flex-direction:column}.ipmf-btn{width:100%}}
