.ph{width:100%}.ph-loading{padding:40px;text-align:center;font-size:.9rem;color:#334155}body.dark-mode .ph-loading{color:#e2e8f0}.ph-search-section{border:1px solid #94a3b8;border-radius:10px;padding:14px 16px;margin-bottom:20px;background:#fafbfc}body.dark-mode .ph-search-section{background:#0f172a;border-color:#475569}.ph-search-heading{font-size:.92rem;font-weight:700;color:#1e293b;margin:0 0 10px}body.dark-mode .ph-search-heading{color:#e2e8f0}.ph-search-row{display:flex;gap:8px}.ph-search-btn{flex:1;padding:8px 14px;display:flex;align-items:center;gap:8px;font-size:.88rem;color:#64748b;background:#fff;border:1px solid #cbd5e1;border-radius:8px;cursor:pointer;text-align:left}.ph-search-btn:hover{border-color:#6366f1;box-shadow:0 0 0 2px #6366f11f}body.dark-mode .ph-search-btn{color:#94a3b8;background:#1e293b;border-color:#475569}body.dark-mode .ph-search-btn:hover{border-color:#818cf8}.ph-search-btn-placeholder{flex:1}.ph-search-btn-img{image-rendering:pixelated;flex-shrink:0}.ph-search-btn-hab{flex-shrink:0}.ph-active-filter{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;margin-bottom:12px;background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px}body.dark-mode .ph-active-filter{background:#1e1b4b;border-color:#4338ca}.ph-active-filter-text{font-size:.85rem;font-weight:700;color:#4338ca}body.dark-mode .ph-active-filter-text{color:#818cf8}.ph-active-filter-clear{padding:4px 10px;font-size:.78rem;font-weight:700;color:#475569;background:#fff;border:1px solid #94a3b8;border-radius:4px;cursor:pointer}.ph-active-filter-clear:hover{color:#ef4444;border-color:#ef4444}body.dark-mode .ph-active-filter-clear{color:#94a3b8;background:#334155;border-color:#64748b}.ph-empty{padding:24px;text-align:center;font-size:.85rem;color:#475569}body.dark-mode .ph-empty{color:#94a3b8}.ph-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(max-width:640px){.ph-grid{grid-template-columns:1fr;gap:10px}}.ph-card{border:1px solid #94a3b8;border-radius:10px;background:#fff;overflow:hidden}body.dark-mode .ph-card{background:#1e293b;border-color:#64748b}.ph-card-header{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #94a3b8;background:#e0ecff}body.dark-mode .ph-card-header{background:#172554;border-color:#64748b}.ph-hab-sprite{flex-shrink:0;border-radius:6px}.ph-hab-sprite--basin{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #0284c7;background:#e0f2fe;color:#075985;font-size:.68rem;font-weight:900;line-height:1}.ph-hab-sprite--basin span{font-size:.5rem;line-height:1.1}body.dark-mode .ph-hab-sprite--basin{border-color:#38bdf8;background:#0c4a6e;color:#f0f9ff}.ph-card-header-text{flex:1;min-width:0}.ph-card-name{font-size:.88rem;font-weight:700;color:#1e293b;line-height:1.3}body.dark-mode .ph-card-name{color:#e2e8f0}.ph-card-num{font-weight:600;color:#475569}body.dark-mode .ph-card-num{color:#94a3b8}.ph-card-materials{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}.ph-mat{padding:1px 6px;font-size:.7rem;font-weight:600;background:#eef2ff;color:#4338ca;border-radius:3px}body.dark-mode .ph-mat{background:#1e1b4b;color:#818cf8}.ph-table{width:100%;border-collapse:collapse}.ph-cell{border:1px solid #94a3b8;padding:0;width:33.33%;vertical-align:top}body.dark-mode .ph-cell{border-color:#64748b}.ph-table tr:first-child .ph-cell{border-top:none}.ph-cell:first-child{border-left:none}.ph-cell:last-child{border-right:none}.ph-poke{display:flex;flex-direction:column;align-items:center;padding:6px 2px;text-decoration:none;color:inherit;gap:2px}.ph-poke:hover{background:#f1f5f9}body.dark-mode .ph-poke:hover{background:#243548}.ph-poke-img{image-rendering:pixelated;flex-shrink:0}.ph-poke-name{font-size:.7rem;font-weight:700;color:#1e293b;text-align:center;line-height:1.2}body.dark-mode .ph-poke-name{color:#e2e8f0}.ph-poke-rarity{font-size:.65rem;font-weight:700}.ph-r--common{color:#475569}.ph-r--rare{color:#b45309}.ph-r--ultra{color:#be185d}body.dark-mode .ph-r--common{color:#94a3b8}body.dark-mode .ph-r--rare{color:#fbbf24}body.dark-mode .ph-r--ultra{color:#f472b6}@media(max-width:640px){.ph-card-header{padding:8px 10px}.ph-card-name{font-size:.82rem}}
